haifa.shopsim
Interface ShopData
- All Known Implementing Classes:
- GeneralShopDataArray
- public interface ShopData
This is an interface for the datastrucute class that contains the data revlevant 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.
there are also Nr jobs in each route. N = N1+....+NR is the total sum of jobs
The duration of each step for each job is Xr,o,j r = 1,....,R being the route, o = 1,...,Kr being the step on the route, j = 1,...,Nr being the specific job on the route.
Stated above is the most general problem, (there might be some room to add setup
times in later versions).
Job types are numbered t=1,....,T. Each job type has an associated route. There may be
several copies of jobs from a single type.
Jobs are identified using a unique string, the string is
_
thus the strings "12_1","12_2",....,"12_100" uniqly identify the 100 jobs of type 12.
For each job type, the processing times are identical.
Method Summary |
java.util.List |
getCi(int i)
Returns a List of all operations in machine i. |
int |
getI()
Returns number of machines. |
java.lang.String[] |
getJobsOfRoute(int r)
Returns all of of route r. |
java.lang.String[] |
getJobsOfType(int t)
Returns all of the jobs of type t. |
int |
getK()
Returns the total number of steps/classes/buffers (sum of Kr) |
int |
getKr(int r)
Returns number of steps in route r |
int |
getMachine(Operation op)
Returns the machine that performs the following operation. |
int |
getN()
Returns number of jobs. |
int |
getNr(int r)
Returns number of jobs in route r |
int |
getNt(int t)
Returns the number of jobs of type t |
int |
getR()
Returns number of routes. |
java.util.List |
getRoute(int r)
Returns a List of all operations in route r |
int |
getRouteOfType(int t)
Returns the route of type t. |
int |
getSizeCi(int i)
Returns the number of operations in machine i. |
int |
getT()
Returns the number of types of jobs. |
int |
getTr(int r)
Returns the number of types of jobs that are on route r. |
int[] |
getTypesOfRoute(int r)
Returns an array of type number of jobs that are on route r. |
double |
getXto(int t,
int o)
Returns the processing time of job of type t, on step o of it's route. |
boolean |
isIdenticalJobs()
Ask if the shop has identical jobs. |
boolean |
isMostGeneralJobShop()
Ask if the shop is most general, not proportional, not similar. |
boolean |
isProportinalJobs()
Ask if the shop has proportional jobs. i.e N1,...,Nr are
proportional to some N (there exists p1,...,pr such that Ni=piN). |
boolean |
isSingleRoute()
Ask is shop is a jobshop with a single route same as getR()==1 |
getI
public int getI()
- Returns number of machines.
getR
public int getR()
- Returns number of routes.
getN
public int getN()
- Returns number of jobs.
getT
public int getT()
- Returns the number of types of jobs.
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
getNr
public int getNr(int r)
- Returns number of jobs in route r
getNt
public int getNt(int t)
- Returns the number of jobs of type t
getTr
public int getTr(int r)
- Returns the number of types of jobs that are on route r.
getTypesOfRoute
public int[] getTypesOfRoute(int r)
- Returns an array of type number of jobs that are on route r.
getJobsOfType
public java.lang.String[] getJobsOfType(int t)
- Returns all of the jobs of type t. The length of this array is getNt(t).
getJobsOfRoute
public java.lang.String[] getJobsOfRoute(int r)
- Returns all of of route r. This includes all of the jobs of all types that
are associated with route r
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.
getSizeCi
public int getSizeCi(int i)
- Returns the number of operations in machine i.
getXto
public double getXto(int t,
int o)
- Returns the processing time of job of type t, on step o of it's route.
getRouteOfType
public int getRouteOfType(int t)
- Returns the route of type t.
getRoute
public java.util.List getRoute(int r)
- Returns a List of all operations in route r
isSingleRoute
public boolean isSingleRoute()
- Ask is shop is a jobshop with a single route same as getR()==1
isIdenticalJobs
public boolean isIdenticalJobs()
- Ask if the shop has identical jobs. If so, use getXr()
isProportinalJobs
public boolean isProportinalJobs()
- Ask if the shop has proportional jobs. i.e N1,...,Nr are
proportional to some N (there exists p1,...,pr such that Ni=piN).
isMostGeneralJobShop
public boolean isMostGeneralJobShop()
- Ask if the shop is most general, not proportional, not similar.