Job-shop problem
From Wikipedia, the free encyclopedia
The job-shop problem (JSP) is a problem in discrete or combinatorial optimization, and is a generalization of the famous travelling salesman problem. It is a prominent illustration of a class of problems in computational complexity theory which are hard to solve.
[edit] Statement of the problem
Let
and
be two finite sets. On account of the industrial origins of the problem, the Mi are called machines and the Jj are called jobs.
Let
denote the set of all sequential assignments of jobs to machines, such that every job is done by every machine exactly once; elements
may be written as
matrices, in which column i lists the jobs that machine Mi will do, in order. For example, the matrix
means that machine M1 will do the three jobs J1,J2,J3 in the order J1,J2,J3, while machine M2 will do the jobs in the order J2,J3,J1.
Suppose also that there is some cost function
. The cost function may be interpreted as a "total processing time", and may have some expression in terms of times
, the cost/time for machine Mi to do job Jj.
The job-shop problem is to find an assignment of jobs
such that C(x) is minimal.
[edit] The problem of infinite cost
One of the first problems that must be dealt with in the JSP is that many proposed solutions have infinite cost: i.e., there exists
such that
. In fact, it is quite simple to concoct examples of such
by ensuring that two machines will deadlock, so that each waits for the output of the other's next step.
[edit] NP-hardness
If one already knows that the travelling salesman problem is NP-hard (as it is), then the job-shop problem is clearly also NP-hard, since the TSP is the JSP with m = 1 (the salesman is the machine and the cities are the jobs).


