I have a generalized assignment problem, where each worker can have many tasks, and where there's a (non-integer) cost for starting a worker. I want to minimize costs. The starting cost can be pretty high, so it's preferable not to start a worker, if possible.

Is this solvable, or can it be at least approximated? I'm totally new to LP/MIP and am having trouble finding papers / lectures / textbooks.

e.g. if there're two workers A,B and two tasks 1,2 with costs

A1=1.4, B1=6, A2=3, B2=24

Then normally, the optimal configuration is A2,B1 (Task 2 on A, Task 1 on B), the total cost being 9.

But in my situation the initial cost of creating each worker is say, 90. So the optimal configuration becomes A1,B1.

Moreover, workers are bound by the total volume of the tasks (e.g. RAM pre-configured by each worker) they can be assigned.

  • $\begingroup$ I think there are a couple of typos. First of all, in the normal configuration, why wouldn't I pick $A1$ instead of $B1$, since $1.4<6$? I'm guessing you meant $A1=14$. With costs added in, I would expect $A_1,A_2$, not $A_1,B_1$. $\endgroup$ – Michael Grant Jan 24 '17 at 12:09

Sure, with any reasonable LP/MIP solver, you're going to have no problem here. The model looks like this so far: \begin{array}{ll} \text{minimize} & 14 A_1 + 6 B_1 + 3 A_2 + 24 B_2 \\ \text{subject to} & A_1 + B_1 = 1 \\ & A_2 + B_2 = 1 \\ &A_0, A_1, A_2, B_1, B_2 \in\{0,1\} \end{array} Now let's add two new variables $A_0$ and $B_0$
\begin{array}{ll} \text{minimize} & 90 A_0 + 90 B_0 + 14 A_1 + 6 B_1 + 3 A_2 + 24 B_2 \\ \text{subject to} & A_1 + B_1 = 1 \\ & A_2 + B_2 = 1 \\ & 2 A_0 >= A_1 + A_2 \\ & 2 B_0 >= B_1 + B_2 \\ & A_0, A_1, A_2, B_0, B_1, B_2 \in\{0,1\} \end{array} The constraint $2 A_0 >= A_1 + A_2$ ensures that $A_0$ is nonzero if either one of the tasks is assigned to $A$; similarly for $B$.

Any other linear equations and inequalities involving the task assignments can easily be added.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.