Mathematics Asked on November 18, 2020
I have the following question, and I need to write it as an integer programming problem:
A manager of a company wants to give presents to his 1000 employers. He can buy the presents from two different suppliers:
I need to find how many presents he should buy from each supplier, in order to spend the minimal amount of money.
I defined:
$x_1, x_2$ – The number of presents to buy from each supplier.
$z_1$ – Indicator which represents whether or not $x_1 ge501$
$z_2$ – Indicator which represents whether or not $x_2 ge301$
I know how to represents the indicators using linear functions, but I don’t know how to find a linear objective function.
My best suggestion is:
$$ 110x_1+5z_1(x_1-500)+120x_2-36z_2(x_2-300) $$
However, this is not a linear function, because I multiply the decision variables.
How can I turn it into a linear function?
Introduce nonnegative integer decision variables $y_1$ and $y_2$ to represent "extra" presents. The problem is to minimize $$110x_1+5y_1+120x_2-36y_2$$ subject to begin{align} x_1 &le 500 + y_1 tag1 \ y_2 &le (1000-300) z_2 tag2 \ x_2 &ge 300 z_2 tag3 end{align} Constraint $(1)$ and the objective enforce $y_1 = max{x_1-500, 0}$. You don't need $z_1$. Constraint $(2)$ enforces $y_2 > 0 implies z_2 = 1$. Constraint $(3)$ enforces $z_2 = 1 implies x_2 ge 300$.
Answered by RobPratt on November 18, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP