haifa.shopsim.algorithms
Class MakespanFIAalgorithm

java.lang.Object
  |
  +--haifa.shopsim.algorithms.AbstractAlgorithm
        |
        +--haifa.shopsim.algorithms.FIAalgorithm
              |
              +--haifa.shopsim.algorithms.MakespanFIAalgorithm
All Implemented Interfaces:
ShopAlgorithm

public class MakespanFIAalgorithm
extends FIAalgorithm

This is the previously known GFA algorithm in Tabi Budoukh's Thesis.


Fields inherited from class haifa.shopsim.algorithms.AbstractAlgorithm
log, shopData, shopSimulation, shopState
 
Constructor Summary
MakespanFIAalgorithm()
           
MakespanFIAalgorithm(ShopData shopData_)
           
MakespanFIAalgorithm(ShopData shopData_, ShopState shopState_)
           
MakespanFIAalgorithm(ShopData shopData_, ShopState shopState_, java.io.PrintWriter log_)
           
 
Method Summary
 Operation breakTie(Operation one, Operation two)
          Breaks a tie by choosing the operation with the smaller step in the route
 java.lang.String getAlgorithmName()
          Returns a name of the algorithm.
 double immitatedValue(Operation op)
          Returns the value of the fluid solution that is being immitated for a specific buffer.
 double lagFunction(Operation op)
          Determines by how much the Operation op is lagging behind the immitated solution.
 double realLifeFunction(Operation op)
          Returns the value of a function of the JobShopState.
 void reset()
          Does nothing, (may be overridden).
 void setShopData(ShopData shopData_)
          Set the algorithm's shopData object, this is a reference for the general topology of the job shop and for processing times.
 void setShopStateObject(ShopState shopState_)
          Set the algorithm's ShopState object.
static java.lang.String StaticGetAlgorithmName()
           
 java.lang.String toString()
           
 
Methods inherited from class haifa.shopsim.algorithms.FIAalgorithm
isDeterministic, whatNow
 
Methods inherited from class haifa.shopsim.algorithms.AbstractAlgorithm
explanationString, quitCalled, setEnabled, setLog, setShopSimulationObject
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Constructor Detail

MakespanFIAalgorithm

public MakespanFIAalgorithm()

MakespanFIAalgorithm

public MakespanFIAalgorithm(ShopData shopData_,
                            ShopState shopState_,
                            java.io.PrintWriter log_)

MakespanFIAalgorithm

public MakespanFIAalgorithm(ShopData shopData_,
                            ShopState shopState_)

MakespanFIAalgorithm

public MakespanFIAalgorithm(ShopData shopData_)
Method Detail

setShopData

public void setShopData(ShopData shopData_)
Description copied from interface: ShopAlgorithm
Set the algorithm's shopData object, this is a reference for the general topology of the job shop and for processing times.
Overrides:
setShopData in class AbstractAlgorithm

setShopStateObject

public void setShopStateObject(ShopState shopState_)
Description copied from interface: ShopAlgorithm
Set the algorithm's ShopState object. The algorithm looks at this Object and makes decisions based on it whenever the whatNow message is called.
Overrides:
setShopStateObject in class AbstractAlgorithm

reset

public void reset()
Description copied from class: AbstractAlgorithm
Does nothing, (may be overridden).
Overrides:
reset in class AbstractAlgorithm

lagFunction

public double lagFunction(Operation op)
Determines by how much the Operation op is lagging behind the immitated solution. Uses (Q-q)/q. Where Q is the reaLife function and q is the immitatedValue. May return infinity (Double.MAX_VALUE
Overrides:
lagFunction in class FIAalgorithm

immitatedValue

public double immitatedValue(Operation op)
Returns the value of the fluid solution that is being immitated for a specific buffer. This is the optimal fluid draining solution.
Overrides:
immitatedValue in class FIAalgorithm

breakTie

public Operation breakTie(Operation one,
                          Operation two)
Breaks a tie by choosing the operation with the smaller step in the route
Overrides:
breakTie in class FIAalgorithm

realLifeFunction

public double realLifeFunction(Operation op)
Returns the value of a function of the JobShopState.
Overrides:
realLifeFunction in class FIAalgorithm

StaticGetAlgorithmName

public static java.lang.String StaticGetAlgorithmName()

getAlgorithmName

public java.lang.String getAlgorithmName()
Description copied from interface: ShopAlgorithm
Returns a name of the algorithm.

toString

public java.lang.String toString()
Overrides:
toString in class AbstractAlgorithm