haifa.shopsim
Interface ShopData

All Known Implementing Classes:
AbstractShopData, GeneralShopDataArray

public interface ShopData

This is an interface for the datastrucute class that contains the data evlevant to a specific jobshop problem. The formulation of the problem is as following:

i=1,....,I machines
r=1,....,R routes
for each route r, there exist steps (1,r),....,(1,Kr). there is a machine for each of these steps.
The duratin of each step for each job is Xr,o r = 1,....,R being the route, = 1,...,Kr being the step on the route.

Note that the duration may be taken to be the mean duration.

Version:
1.1

Method Summary
 java.util.List getCi(int i)
          Returns a List of all operations in machine i.
 int getI()
          Returns number of machines.
 int getK()
          Returns the total number of steps/classes/buffers (sum of Kr)
 int getKr(int r)
          Returns number of steps in route r, r=1,....,getR().
 int getMachine(Operation op)
          Returns the machine that performs the following operation.
 double getMaxMachineMean()
          Returns the "machine lower bound".
 double getMaxRouteMean()
          Returns the "job lower bound".
 double getMeanOfMachine(int machineNumber)
          Returns the sum of the means of all the processing times of all operations on a machine.
 double getMeanOfRoute(int routeNumber)
          Returns the sum of all of the processing times that compose a route.
 double getMeanOfRouteOnMacine(int machine_, int route_)
          Returns the time that the machine needs to spend working on jobs from the route.
 double[] getMeanOfRoutesOnMachine(int machine_)
          Returns an array of length getR(), such that each element has getMeanOfRouteOnMachine(machine_,r) for r=0,...,getR()-1.
 double[][] getMeansOfRoutesOnMachines()
          Returns a matrix whose first dimenstion is the number of machines and second dimension is the number of routes.
 int getR()
          Returns number of routes.
 java.util.List getRoute(int r)
          Returns a List of all operations in route r
 int getSizeCi(int i)
          Returns the number of operations in machine i.
 double getXto(int r, int o)
          Returns the processing time of job of route r, on step o.
 double getXto(Operation op)
          Returns the processing time of the proper operation.
 boolean isSingleRoute()
          Ask if the shop is a jobshop with a single route same as getR()==1
 

Method Detail

getI

public int getI()
Returns number of machines.

getR

public int getR()
Returns number of routes.

getK

public int getK()
Returns the total number of steps/classes/buffers (sum of Kr)

getKr

public int getKr(int r)
Returns number of steps in route r, r=1,....,getR().

getMachine

public int getMachine(Operation op)
Returns the machine that performs the following operation.

getCi

public java.util.List getCi(int i)
Returns a List of all operations in machine i. The returned value is a List of Operation objects

getSizeCi

public int getSizeCi(int i)
Returns the number of operations in machine i.

getXto

public double getXto(int r,
                     int o)
Returns the processing time of job of route r, on step o.

getXto

public double getXto(Operation op)
Returns the processing time of the proper operation.

getRoute

public java.util.List getRoute(int r)
Returns a List of all operations in route r

isSingleRoute

public boolean isSingleRoute()
Ask if the shop is a jobshop with a single route same as getR()==1

getMeanOfMachine

public double getMeanOfMachine(int machineNumber)
Returns the sum of the means of all the processing times of all operations on a machine.

getMeanOfRoute

public double getMeanOfRoute(int routeNumber)
Returns the sum of all of the processing times that compose a route.

getMaxRouteMean

public double getMaxRouteMean()
Returns the "job lower bound".

getMaxMachineMean

public double getMaxMachineMean()
Returns the "machine lower bound".

getMeanOfRouteOnMacine

public double getMeanOfRouteOnMacine(int machine_,
                                     int route_)
Returns the time that the machine needs to spend working on jobs from the route.

getMeanOfRoutesOnMachine

public double[] getMeanOfRoutesOnMachine(int machine_)
Returns an array of length getR(), such that each element has getMeanOfRouteOnMachine(machine_,r) for r=0,...,getR()-1.

getMeansOfRoutesOnMachines

public double[][] getMeansOfRoutesOnMachines()
Returns a matrix whose first dimenstion is the number of machines and second dimension is the number of routes. The rows of the matrix are getMeanOfRoutesOnMachine(i).