I was given the following problem, and I am having trouble determining what to make my decision variables to model it:

Your goal is to optimize your profit. Over a 10 week period the demands for your product are 85, 97, 120, 105, 84, 74, 116, 123, 104, 98. The item sells for 50 dollars. There is a 500 dollar shipping charge on each order and if you order 150 or fewer items, each item costs 30. If you order between 150 and 249, each item costs 27 dollars. If you order 250 or more items, then the cost is 24 dollars per item. Each item in inventory costs 5 dollars due to storage space, capital spent, etc. Each item with a shortage (demand exceeds inventory) costs 15 dollars due to a loss of customer satisfaction, these items are never sold. What is your ordering policy?

I've tried calling $x_{ij}$ the number of products bought in week $i$ at quantity $j$, where $i$ goes from 1 to 10 and $j$ goes from 1 to 3. Then I need a binary decision variable. I said let $b_{ij} =1$ if $x_{ij}>0$ and $0$ if it is $0$. I have issues modeling the inventory and shortage costs, then. There has to be a better way to define my decision variables.

  • $\begingroup$ Try having your order at time $t$ as decision variable: $x_t \ge 0$. Add a state variable $s_t$ for your current inventory and a second state variable $y_t$ for the demand at time $t$. $\endgroup$ – mlc Feb 5 '17 at 19:52
  • $\begingroup$ I'd still need to keep a binary variable to define which price range each week's purchase falls under, though--correct? @mlc $\endgroup$ – BrianW Feb 5 '17 at 21:29

First of all the quantity index is not needed here. If the solution is $x_1=90$ then it means that in the first week $90$ units of the poduct are ordered. But you need an index (i) for the intervals.

$$x_{ij}=\begin{cases} 1, \ \text{if the order of the produkt is in interval i in the week j} \\ 0, \ \text{elsewhere} \end{cases}$$

Now the binary variable.

First interval $$b_{1j}=\begin{cases} 1, \ \text{if the order of product is lower or equal than 150 in week j } \\ 0, \ \text{elsewhere} \end{cases}$$

Second interval

$$b_{2j}=\begin{cases} 1, \ \text{if the order of product is greater than 150 and lower or equal than 249 in week j } \\ 0, \ \text{elsewhere} \end{cases}$$

Third interval $$b_{3j}=\begin{cases} 1, \ \text{if the order of product is greater or equal than 250 in week j } \\ 0, \ \text{elsewhere} \end{cases}$$

The sum has to be one in every week:

$\sum_{i=1}^3 b_{ij}=1\quad \forall \ j=1,2,...,10$

And the condstraints are

First interval

$x_{1j}\leq b_{1j}\cdot 150\quad \forall \ j=1,2,...,10$

Second interval

$x_{2j}\geq b_{2j}\cdot 151\quad \forall \ j=1,2,...,10$

$x_{2j}\leq b_{2j}\cdot 249\quad \forall \ j=1,2,...,10$

Third interval

$x_{3j}\geq b_{3j}\cdot 250\quad \forall \ j=1,2,...,10$

Let say $b_{1j}=x_{3j}=0$ then $x_{1j}$ and $x_{3j}$ must be $0$. And it follows as well that $b_{2j}=1$ and $151\leq x_{2j}\leq 249$

Many roads lead to Rome. My model is one of it. I hope it is comprehensible. If you have any remarks or question feel free to comment.

  • $\begingroup$ do I need another variable for the inventory constraints, or should I be able to make it work using the constraints you've listed? $\endgroup$ – BrianW Feb 6 '17 at 17:51

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.