VirtualOrganization
Class VirtualOrganization

java.lang.Object
  |
  +--VirtualOrganization.VirtualOrganization

public class VirtualOrganization
extends java.lang.Object


Constructor Summary
VirtualOrganization(VirtualOrganization.DisplayController control)
          Class constructor.
 
Method Summary
 void addReq(java.lang.String name, int x, int y)
          Add new Requirement.
 void addSat(java.lang.String name, int x, int y)
          Add new Satisfier.
 void adjustConnections()
          Adjust dynamicConnections after assignableConnections matrix has changed.
 boolean areAssignable(java.lang.String req, java.lang.String sat)
          Check if nodes are assignableConnections.
 boolean areStaticallyConnected(java.lang.String req, java.lang.String sat)
          Check if nodes are connected.
 void assignOptimalConnections()
          Assign dynamicConnections after Linear Programming problem has been solved.
 void calculateDirectCost()
           
 void calculateDynamicAssignmentCost()
          Calculate assignment cost after Linear Programming problem has been solved..
 void calculateDynamicTotalCost()
          Calculate total cost after Linear Programming problem has been solved..
 void calculateIndirectCost()
           
 void calculateStaticAssignmentCost()
          Get cost based on initial configuration.
 void calculateStaticTotalCost()
          Calculate total cost after Linear Programming problem has been solved..
 void calculateWeightedUnitCosts()
          Calculate satisfiers' weighted unit costs.
 void deleteReq(int index)
          Delete Requirement.
 void deleteSat(int index)
          Delete Satisfier.
 void eraseAllNodes()
          Delete all nodes.
 int findReq(java.lang.String name)
          Find requirement index from requirements array.
 int findSat(java.lang.String name)
          Find satisfier index from satisfier array.
 double getConnection(int req, int sat)
          Get connection.
 double getConnection(java.lang.String req, java.lang.String sat)
          Get connection.
static double getRandom()
          Generates random number.
 void initialize()
          Initialize Virtual Organization problem.
 void initializeLinearProgrammingProblem()
          Initialize LinearProgramming problem.
 boolean isSolvable()
          Get after Linear Programming problem has been solved..
 void optimize()
          Optimize Virtual Organization problem.
 void removeReqSat()
          Remove requirement or satisfier.
 void renameReq(java.lang.String oldname, java.lang.String newname)
          Rename Requirement.
 void renameSat(java.lang.String oldname, java.lang.String newname)
          Rename Satisfier.
 void reset()
          Reset Virtual Organization problem.
 void setConnection(int req, int sat, double value)
          Add dynamic connection.
 void setStaticConnection(java.lang.String req, java.lang.String sat, double value)
          Add initial connection.
 void solveLinearProgrammingProblem()
          Solve Linear Programming problem and assign dynamicConnections.
 void staticLinearProgrammingProblem(int r)
           
 void updateLinearProgrammingProblem()
          Update LinearProgramming problem.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VirtualOrganization

public VirtualOrganization(VirtualOrganization.DisplayController control)
Class constructor.

Method Detail

findReq

public int findReq(java.lang.String name)
Find requirement index from requirements array.

Parameters:
name - Requirement name
Returns:
Return requirement index if found, -1 otherwise.

findSat

public int findSat(java.lang.String name)
Find satisfier index from satisfier array.

Parameters:
name - Satisfier name
Returns:
Return satisfier index if found, -1 otherwise.

addReq

public void addReq(java.lang.String name,
                   int x,
                   int y)
Add new Requirement.

Parameters:
name - Requirement name
x - x-coordinate
y - y-coordinate

addSat

public void addSat(java.lang.String name,
                   int x,
                   int y)
Add new Satisfier.

Parameters:
name - Requirement name
x - x-coordinate
y - y-coordinate

deleteReq

public void deleteReq(int index)
Delete Requirement.

Parameters:
index - Requirement index

deleteSat

public void deleteSat(int index)
Delete Satisfier.

Parameters:
index - Satisfier index

renameReq

public void renameReq(java.lang.String oldname,
                      java.lang.String newname)
Rename Requirement.

Parameters:
oldname - Requirement's old name

renameSat

public void renameSat(java.lang.String oldname,
                      java.lang.String newname)
Rename Satisfier.

Parameters:
oldname - Satisfier's old name

getConnection

public double getConnection(int req,
                            int sat)
Get connection.

Parameters:
req - Requirement's index
sat - Satisfier's index
Returns:
Connection value (0.0-1.0)

getConnection

public double getConnection(java.lang.String req,
                            java.lang.String sat)
Get connection.

Parameters:
req - Requirement's name
sat - Satisfier's name
Returns:
Connection value (0.0-1.0)

setConnection

public void setConnection(int req,
                          int sat,
                          double value)
Add dynamic connection.

Parameters:
req - Requirement's index
sat - Satisfier's index
value - Connection value (0.0-1.0)

setStaticConnection

public void setStaticConnection(java.lang.String req,
                                java.lang.String sat,
                                double value)
Add initial connection.

Parameters:
req - Requirement's name
sat - Satisfier's name
value - Connection value (0.0-1.0)

areStaticallyConnected

public boolean areStaticallyConnected(java.lang.String req,
                                      java.lang.String sat)
Check if nodes are connected.

Parameters:
req - Requirement's name
sat - Satisfier's name
Returns:
Return true if connected, false otherwise.

areAssignable

public boolean areAssignable(java.lang.String req,
                             java.lang.String sat)
Check if nodes are assignableConnections.

Parameters:
req - Requirement's name
sat - Satisfier's name
Returns:
Return true if assignableConnections, false otherwise.

adjustConnections

public void adjustConnections()
Adjust dynamicConnections after assignableConnections matrix has changed.


initialize

public void initialize()
Initialize Virtual Organization problem.

Returns:
Return true if all requirements are satisfied, false otherwise.

optimize

public void optimize()
Optimize Virtual Organization problem.

Returns:
Return true if all requirements are satisfied, false otherwise.

initializeLinearProgrammingProblem

public void initializeLinearProgrammingProblem()
Initialize LinearProgramming problem.


updateLinearProgrammingProblem

public void updateLinearProgrammingProblem()
Update LinearProgramming problem.


staticLinearProgrammingProblem

public void staticLinearProgrammingProblem(int r)

solveLinearProgrammingProblem

public void solveLinearProgrammingProblem()
Solve Linear Programming problem and assign dynamicConnections.


isSolvable

public boolean isSolvable()
Get after Linear Programming problem has been solved..


assignOptimalConnections

public void assignOptimalConnections()
Assign dynamicConnections after Linear Programming problem has been solved.


calculateDynamicAssignmentCost

public void calculateDynamicAssignmentCost()
Calculate assignment cost after Linear Programming problem has been solved..


calculateDynamicTotalCost

public void calculateDynamicTotalCost()
Calculate total cost after Linear Programming problem has been solved..


calculateStaticAssignmentCost

public void calculateStaticAssignmentCost()
Get cost based on initial configuration.


calculateStaticTotalCost

public void calculateStaticTotalCost()
Calculate total cost after Linear Programming problem has been solved..


calculateWeightedUnitCosts

public void calculateWeightedUnitCosts()
Calculate satisfiers' weighted unit costs.


calculateIndirectCost

public void calculateIndirectCost()

calculateDirectCost

public void calculateDirectCost()

removeReqSat

public void removeReqSat()
Remove requirement or satisfier.


getRandom

public static double getRandom()
Generates random number.

Returns:
Return random number 0.0-1.0

eraseAllNodes

public void eraseAllNodes()
Delete all nodes.


reset

public void reset()
Reset Virtual Organization problem.