0% found this document useful (0 votes)
69 views45 pages

IE303 Sample Questions

Uploaded by

merttumer0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views45 pages

IE303 Sample Questions

Uploaded by

merttumer0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 45

IE 303 Modeling and Methods in Optimization

Solutions to Some Practice Questions for the Final


Exam v2.0

Bora Çetin∗

Spring 2024

Author’s Note and Suggestions


This document contains solutions to the practice questions for the IE303 final exam. Please
try to solve the questions on your own first. Do not simply memorize what is going on in
this paper, try to understand. I strongly suggest criticizing my answers when you solve these
questions. Always ask yourself ”Why?”. If you question what is really happening behind
the scenes, you will learn and will be able to reflect your skills properly on the questions to
come.

If you are reading this you probably noticed that this is a very long document,
so it is possible that it contains some typos. Please direct any mistakes to
[email protected]. Your opinions, ideas, suggestions are also welcomed. Good
Luck!

Warning
Please do not share this document with any other third party website.


Revised by Prof. Mustafa Çelebi Pınar

1
Typo List (Under Construction)
Typos will be listed here.
• Check inventory Holding cost part
• Check Q 30 cycle.
• Check page 33 33-5 23-4 part.
• Check Q6 f1(10)

2
In re mathematica ars proponendi
quaestionem pluris facienda est quam
solvendi.

Georg Cantor

Question 1
A) In this part we are asked to linearize ”Either x1 ≥ 5 or x2 ≥ 5 holds.”

Reminder
In everyday language, one may think that this refers to ”One of those constraints
holds”, but in mathematics, Either-Or refers to ”At least one of them holds.”
You may think of it as the union of two sets.

In this case, we need a switch to determine which one of these two constraints holds,
and this switch should not restrict the other constraint in any way. We have

x1 ≥ 5 OR x2 ≥ 5
0 ≥ 5 − x1 OR 0 ≥ 5 − x2
This translates to
M ∗ β ≥ 5 − x1
M ∗ (1 − β) ≥ 5 − x2
For β binary and for some relatively big M . Notice that for β = 1 we have M ≥ 5 − x1
and 0 ≥ 5 − x2 , meaning that the second constraint must hold, while the other may not.
B) In this case we want one of the constraints to hold. In other words, when we solve this
problem we want only one of the constraints to be active.

M ∗ (1 − Q) ≥ 12 − (2x1 + x2 )

M ∗ (1 − W) ≥ 10 − (x1 + x2 )
M ∗ (1 − Z) ≥ 12 − (x1 + 2x2 )
Z +Q+W =1
For Z, Q, W binary and some relatively big M. You shall determine a reasonable value
depending on the other problem constraints.
C) Define integer decision variable t. Add the following constraints to the model.

x1 − x2 = 5t

−2 ≤ t ≤ 2, t Integer
We let the model decide what t is. This time our switch can change between 5 values.

3
D) Introduce binary y1 and y2 . Change the objective function to

f (x1 ) + f (x2 ) = 5y1 + 4x1 + 3y2 + 5x2

Now we want to make sure that y1 = 1 when x1 is strictly positive. Add

x1 ≤ M y 1

x2 ≤ M y 2
For relatively big M .

4
Question 2
We want to find the minimum k ∗ such that for {i ∈ Z+ } all sizes of k ∗ + i can be created
using 6,9 and 19 nuggets. We will first formulate the example case given in the hint for the
best understanding, and then move forward to the original problem.
• Assume we have packages of 3 and 5. For this minimum value we are looking for, we
want to make sure that k ∗ + 1 is some combination of 3 and 5. This must also be true
for k ∗ + 2 and k ∗ + 3. Notice that we do not have to check k ∗ + 4, because when k ∗ + 1
is a combination of sizes 3 and 5, automatically by adding 3, k ∗ + 4 is a combination
of 3 and 5. Transforming this to an integer model, we get

minimize k
subject to
3x11 + 5x12 = k + 1
3x21 + 5x22 = k + 2
3x31 + 5x32 = k + 3
xij ≥ 0 ∀i, ∀j
xij integer, ∀i, ∀j
Solving this in XpressMP yields k ∗ = 7, as expected. Notice that we use xij integer
variables to enforce integrality of k’s.
• Going back to our good old model, we modify the model above to get

minimize k

subject to
6x11 + 9x12 + 19x13 = k + 1
6x21 + 9x22 + 19x23 = k + 2
6x31 + 9x32 + 19x33 = k + 3
6x41 + 9x42 + 19x43 = k + 4
6x51 + 9x52 + 19x53 = k + 5
6x61 + 9x62 + 19x63 = k + 6
xij ≥ 0 ∀i, ∀j
xij integer, ∀i, ∀j
Here, XpressMP yields an integer solution of 41. Therefore, package sizes of 42,43,44...
can be created using sizes 6,9, and 19.

5
Question 3
Let us first define the problem clearly.
Stage: We will have three stages, one for each production run and one for end of the horizon.
States: For each stage we are in, we should know if we have successfully produced the
acceptable flask. If we already have an acceptable flask let the stage be 1. If not, let stage
be 0.
Decision: How much to produce at the beginning of each period.
Cost-to-go Function:
ft (i) is the expected cost of production in run t with state i.
Recursive Equation:

1 1
fi (0) = min+ {fi+1 (0), ( )L fi+1 (0) + [1 − ( )L ]fi+1 (1) + 300 + 100L} ∀i ∈ {1, 2}
L∈Z 3 3
This is basically producing nothing or producing L for L ∈ Z0+ . The production stops if an
acceptable flask is already obtained.
fi (1) = 0 ∀i ∈ {2, 3}
Boundary Conditions:
Since we do not produce anything and just pay the penalty at the start of period 3, we can
say that
f3 (1) = 0
f3 (0) = 1600
We can start with stage 2. We have
1 1
f2 (0) = min+ {f3 (0), ( )L f3 (0) + [1 − ( )L ]f3 (1) + 300 + 100L}
L∈Z 3 3
1
f2 (0) = min{1600, ( )L 1600 + 300 + 100L}
L 3
Consider
1600
g(L) = + 300 + 100L
3L
g ′ (L) =
−1600ln3
+ 100 = 0
3L
We get L ≈ 2.61. For large L, g ′ (L) > 0 but for L ≤ 2.61, L < 0, meaning that there is
only one critical point, which is the local minima. Since we can only produce integers, try
both L = 2 and L = 3. L = 3 gives the smallest cost with g(3) = 659.26. Among the L’s we
consider, we should pick L = 3 for the best option, so we should produce 3 units if we want
to. We get
f2 (0) = min{1600, 659.26} = 659.26

6
f2 (1) = 0
Next, we have
1 1
f1 (0) = min+ {f2 (0), ( )L f2 (0) + [1 − ( )L ]f2 (1) + 300 + 100L}
L∈Z 3 3
1
f1 (0) = min+ {659.26, ( )L 659.26 + +300 + 100L}
L∈Z 3
Let
659.26
h(L) = + 300 + 100L
3L
h′ (L) =
−659.26ln3
+ 100 = 0
3L
Similarly we get L ≈ 1.802. Take L = 2.
659.26
h(2) = + 500 = 573.25
32
We should produce 2 if we want to.

f1 (0) = min{659.26, 573.25} = 573.25

Our final strategy is: Produce 2 in the first run, if fails, produce 3 in the final run.

7
Question 4
Let us solve the LP relaxation first. You can use the simplex method, or since we have 2
variables you may want to use the graphical method.

From the LP relaxation solution, it can be seen that the optimal solution is point (3.5, 2.5)
with an objective function value of 14.5. We shall go forward to create the simplex tableau.
If you have chosen using the simplex method, your table should be ready. Let us convert
the original problem to its standard form.
maximize 2x1 + 3x2
subject to
x1 + x2 + s 1 = 6
2x1 + 4x2 + s2 = 17
x1 , x2 , s1 , s2 ≥ 0
Then from the graphical optimal solution, it follows that the basic variables are x1 and x2 .
1 1
B=[ ]
2 4

2 − 12
B −1 = [ ]
−1 21

1 1 1 0
A=[ ]
2 4 0 1
Then,
1 0 2 − 21
B −1 A = [ ]
0 1 −1 21
The tableau is then

8
X
X
X z x1 x2 s1 s2 RHS X X
X
X
X
X 1
X
X
X
X
X
X z 1 0 0 1 2 14.5 X
X
X
X
X 1 X
X
X
X x1 0 1 0 2 − 2 3.5 X X
X
X
X
X
X x2 0 0 1 −1 21 2.5 XX
X
X
X
X X
X
X
X
X x2 0 0 1 −1 2 1
2.5 XX
X
X
We now pick one of the rows to apply Gomory Fractional Cutting Plane Algorithm.
(2 − ⌊2⌋)s1 + (−1/2 − ⌊−1/2⌋)s2 ≥ 1/2
s2 /2 ≥ 1/2
s2 ≥ 1
Let us add this to the original tableau.

X
X
X z x1 x2 s1 s2 e1 RHS XX
X
X
X
X 1
X
X
X
X
X
X z 1 0 0 1 2 0 14.5 X
X
X
X
X 1 X
X
X
X x1 0 1 0 2 −2 0 3.5 X
X
X
X
X
X
X x2 0 0 1 −1 2 1
0 2.5 X
X
X
X
X
X X
X
X
X
X e1 0 0 0 0 1 −1 1 XX
X
X
X
X
X z x1 x2 s1 s2 e1 RHS X X
X
X
X
X 1
X
X
X
X
X
X z 1 0 0 1 2 0 14.5 X
X
X
X
X 1 X
X
X
X
X x 1 0 1 0 2 − 2 0 3.5 X
X
X
X
X
X x 0 0 1 −1 1
0 2.5 X
X
X
X 2 2 X
X
X X
X
X
X
X e 1 0 0 0 0 −1 1 −1 X
X
X
We need to recover the feasibility of the tableau. Enter s2 and e1 leaves.

X
X
X z x1 x2 s1 s2 e1 RHS X X
X
X
X
X 1
X
X
X
X
X
X z 1 0 0 1 0 2 14 X
X
X
X
X 1 X
X
X
X
X x 1 0 1 0 2 0 2 4 X
X
X
X
X
X x 0 0 1 −1 0 − 1
2 X
X
X
X 2 2 X
X
X X
X
X
X
X s 2 0 0 0 0 1 −1 1 X
X
X
So, the optimal solution is (x1 , x2 , s1 , s2 , e1 ) = (4, 2, 0, 1, 0) with an objective function value
of 14. You can also check this graphically to see the solution.

9
Question 5
(a) You may end up with the following model.
Decision Variables:

⎪1, if ith vector is selected, i ∈ {1, .., n}

xi = ⎨
⎩0, otherwise

Model: n
maximize ∑ vi xi
i=1

subject to
n
∑ xi ≤ k
i=1

xi ∈ {0, 1} ∀i ∈ {1, .., n}

(b) We see that the integer model is the following:


Decision Variables:

yi = Amount of questions Ömer wants to solve on day i, i ∈ {1, .., n}


n
minimize ∑ yi + kmax{v1 − y1 , v2 − y2 ..., 0}
i=1

subject to
yi ≥ 0 ∀i ∈ {1, .., n}
We need to linearize this. Let t = max{v1 −y1 , v2 −y2 ..., 0}. Then, the problem becomes,
n
minimize ∑ yi + kt
i=1

subject to
t ≥ vi − yi ∀i ∈ {1, .., n}
t, yi ≥ 0 ∀i ∈ {1, .., n}

(c) Let us take the LP relaxation of problem (a).


n
maximize ∑ vi xi
i=1

subject to
n
∑ xi ≤ k
i=1

xi ≤ 1 ∀i ∈ {1, .., n}
xi ≥ 0 ∀i ∈ {1, .., n}

10
Define variable U for the first inequality constraint. Define variables ℵi for ≤ 1 con-
straints. Then we construct the dual using these variables.
n
minimize ∑ ℵi + kU
i=1

subject to
ℵi + U ≥ vi
U, ℵi ≥ 0 ∀i ∈ {1, .., n}
Notice that this is exactly the same as problem (b).

11
Question 6
We start by defining our problem. Intuitively when we are solving this problem we pick a
value for x1 , calculate our capacity, then we pick a feasible value for x2 , and lastly pick a
value for x3 to calculate the objective function value. In the DP formulation we will consider
the reverse of this process.
Stage: We will have three stages in this formulation. The problem has 3 variables, each
gets a stage.
States: For each variable we trace, we will check our remaining capacity, which will be from
the set {0, 1, .., 10}.
Decision: How much of the corresponding variable to use at each stage.
Cost-to-go Function: ft (i) the maximum value we can get for the objective function at
stage t with a remaining capacity of i.
What are we looking for? Since we will check x1 first, then x2 and finally x3 , we want
to know the maximum value we can get at stage 1 with a capacity of 10(full capacity). In
other words we want f1 (10).
Let us start with the trivial cases. Consider f3 (10). With full capacity and only using x3
variables we can add at most 22 units to the objective function by taking x3 = 3. Why? Just
look at the constraint and observe that (x3 = 3)2 ≤ 10 but (x3 = 4)2 ≥ 10. This is also the
case for f3 (9). We set
f3 (10) = f3 (9) = 22
Similarly
f3 (8) = f3 (7) = f3 (6) = f3 (5) = f3 (4) = 17
f3 (3) = f3 (2) = f3 (1) = 12
and finally
f3 (0) = 8
Just to clarify, remember that f3 (0) means we have used all of our capacity in earlier stages,
or in other words we have exhausted the capacity using x1 and x2 ’s.
What should be our recursive equation, then? Let us consider f2 (10). This essentially means
we did not spend any capacity using x1 and here we are at stage 2 with full capacity. How
should we spend this? We can pick x2 = 0,x2 = 1,x2 = 2,x2 = 3. We should consider all of
these cases.
f2 (10) = max{5 + f3 (10), 10 + f3 (7), 15 + f3 (4), 20 + f3 (1)}
f2 (10) = max{5 + 22, 10 + 17, 15 + 17, 20 + 12} = 32
This means that if we arrive at stage 2 with full capacity, from that point on what we can
generate is at most 32. Similarly,

f2 (9) = max{5 + f3 (9), 10 + f3 (6), 15 + f3 (3), 20 + f3 (0)}

f2 (9) = max{5 + 22, 10 + 17, 15 + 12, 20 + 8} = 28

12
f2 (8) = max{5 + f3 (8), 10 + f3 (5), 15 + f3 (2)}
f2 (8) = max{5 + 17, 10 + 17, 15 + 12} = 27

f2 (7) = max{5 + f3 (7), 10 + f3 (4), 15 + f3 (1)}


f2 (7) = max{5 + 17, 10 + 17, 15 + 12} = 27

f2 (6) = max{5 + f3 (6), 10 + f3 (3), 15 + f3 (0)}


f2 (6) = max{5 + 17, 10 + 12, 15 + 8} = 23

f2 (5) = max{5 + f3 (5), 10 + f3 (2)}


f2 (5) = max{5 + 17, 10 + 12} = 22

f2 (4) = max{5 + f3 (4), 10 + f3 (1)}


f2 (4) = max{5 + 17, 10 + 12} = 22

f2 (3) = max{5 + f3 (3), 10 + f3 (0)}


f2 (3) = max{5 + 12, 10 + 8} = 18

f2 (2) = max{5 + f3 (2)}


f2 (2) = max{5 + 12} = 17

f2 (1) = max{5 + f3 (1)}


f2 (1) = max{5 + 12} = 17

f2 (0) = max{5 + f3 (0)}


f2 (0) = max{5 + 8} = 13
In the end, just calculate f1 (10). We know that with that capacity we can pick 1,2,3,4 or 5
units of x1 .

f1 (10) = max{2 + f2 (10), 4 + f2 (8), 7 + f2 (6), 11 + f2 (4), 13 + f2 (2), 15 + f2 (0)}


f1 (10) = max{2 + 32, 4 + 27, 7 + 23, 11 + 33, 13 + 17, 15 + 13} = 34

13
We are done. With full capacity we can generate at most 34, while respecting the problem
constraint. Now trace back to find the optimum values for decision variables. From the last
decision we see that x1 = 0, then x2 = 2 or x2 = 3. So the optimal values for (x1 , x2 , x3 ) were
(0, 2, 2) and (0, 3, 1) with an objective function value 34.

Exercise
Notice that I did not give you a generic recursive function explicitly. Try to write
down the recursive function of this problem.
It should be of the form ft (i) = max{Something}

14
Question 7
Define variables xij to indicate which ui ’s are in that constraint. You can also do something
else (define xi ’s maybe), but this is just to clarify my notation. I define x12 ,x13 , x23 ,x24 , x34 ,
x35 , x45 , respectively. Since u’s are unrestricted in sign, corresponding constraints will be
equality constraints. Then we have

minimize 6x12 + 5x13 + 7x23 + 4x24 + 3x34 + 2x35 + 8x45


subject to
−x12 − x13 = −1
x12 − x23 − x24 = 0
x23 + x13 − x34 − x35 = 0
x24 + x34 − x45 = 0
x35 + x45 = 1
This is nothing but our very well known Shortest Path Problem. You can see this from the
graph below.

By just looking at it you can see that the optimal solution is


(x12 , x13 , x23 , x24 , x34 , x35 , x45 ) = (0, 1, 0, 0, 0, 1, 0)
With the objective function value of 7. For the dual problem, just add second and sixth
constraints to get
u5 − u1 ≤ 7.
Notice that the other constraints can be abused, so you can give any value to other ui ’s as
you wish. But it will not restrict this new constraint. For instance, let u5 = 5 and u1 = −2.
Then, (u1 , u2 , u3 , u4 , u5 ) = (−2, 4, 3, 5, 0) holds. So we managed to show that u5 − u1 = 7 can
be achieved. Since the constraint bounds the objective function by 7, we can do no better.
This is an optimal solution to the dual problem.

15
Question 8
Define ui for every node and add the following constraints for the first directed cycle.
u2 − u1 + 10x12 ≤ 9.
u3 − u2 + 10x23 ≤ 9.
u1 − u3 + 10x31 ≤ 9.
Note that the solution with x12 = 1, x23 = 1 and x31 = 1 is no longer feasible. (Just sum up
those three constraints). For the sake of this formulation set u1 = 1. Then for others add
u7 − u4 + 10x47 ≤ 9.
u8 − u7 + 10x78 ≤ 9.
u4 − u8 + 10x84 ≤ 9.
and
u6 − u5 + 10x56 ≤ 9.
u9 − u6 + 10x69 ≤ 9.
u10 − u9 + 10x910 ≤ 9.
u5 − u10 + 10x105 ≤ 9.
Set u5 = 1 and u4 = 1.

16
Question 9
Let us first add a minimal cover inequality. Try to find a set of indices that exceeds the
knapsack capacity. There can be many, but let’s take x1 ,x2 ,x6 and x7 . Then we have
25 + 32 + 23 + 37 = 117 > 100
So this is a cover. Let us check if this set of indices form a minimal cover. Remove x1 . Then,
32 + 23 + 37 = 92 ≤ 100
This is no longer a cover. Remove x2 .
25 + 23 + 37 = 85 ≤ 100
This is no longer a cover. Remove x6 .
25 + 32 + 37 = 94 ≤ 100
This is no longer a cover. Lastly remove x7 .
25 + 32 + 23 = 80 ≤ 100
This is no longer a cover. Any index we remove brings us below the knapsack capacity. So
this is indeed a Minimal Cover. Corresponding Minimal Cover Inequality is then
x1 + x2 + x6 + x7 ≤ 3
Notice that x3 has a greater capacity coefficient. Then we can add it to our set of indices to
form an Extended Cover Inequality.
x1 + x2 + x3 + x6 + x7 ≤ 3
Is the desired inequality for this set. Finally, we want to find a valid inequality using the
Chvátal-Gomory Rounding Procedure. Divide this constraint by 8. Note that probably you
can find many valid inequalities that are also cutting planes. By rounding down we get
3x1 + 4x2 + 5x3 + x4 + x5 + 2x6 + 4x7 + 2x8 + 3x9 ≤ 12
Now we can show that these valid inequalities actually cut some fractional points in the LP
relaxations. Just look at the original constraint and try to exploit the structure using our new
20
tighter constraints. Observe that our Minimal Cover inequality cuts point (1, 1, 0, 0, 0, 1, 37 ).
The Extended Cover inequality is even tighter and still cuts this particular point. (and
more!). In the original problem, after picking indices 1,2 and 3, 3 capacity remains. We can
fill this using 83 of x4 in the LP relaxation. Therefore, point (1, 1, 1, 38 , 0, 0, 0) was feasible.
But considering our new constraint found by the Chvátal-Gomory Rounding Procedure, this
point is no longer feasible.

Exercise
Show that this point is not feasible!

Therefore, all three are indeed cutting planes.

17
Question 10
Remember that we found a new inequality for this problem using Gomory Fractional Cutting
Plane Algorithm. The constraint was
s2 ≥ 1
But we know that by our initial construction

2x1 + 4x2 + s2 = 17

Then,
s2 = 17 − 2x1 − 4x2 ≥ 1
So we get
16 ≥ 2x1 + 4x2
After plotting this problem you can see that all corner points are integer points. They are
(0,4), (6,0), (4,2) and (0,0). Just add 16 ≥ 2x1 + 4x2 and this is indeed the ideal formulation.

The pink region is now no longer feasible, and all of our corner points are integers.

18
Question 11
Observe that we have the following Horribly Drawn graph.

Consider the formulation of Maximum Cardinality Matching Problem. For every node we
can pick at most 1 of its neighboring arcs. Take the LP relaxation. We have

∑ xe ≤ 1 For every node


Every Neighbor

Sum up all these constraints to get

∑ 2xe ≤ 9
All arcs

This gives
∑ xe ≤ 4.5
All arcs

This is nothing but the objective function. So you can have at most 4.5 in LP relaxation.
We are allowed to have the following Horribly Drawn solution with the objective function
value of 4.5.

19
Corresponding odd cycle inequality is

x12 + x13 + x23 ≤ 1

This is actually easy to observe. In a triangle, we cannot pick any 2 edges, because it would
violate our matching constraints. If the edge (1,2) were not present, then we wouldn’t have
any odd cycles. Since there would be no odd cycles in this graph, the LP relaxation would
be exact, and you could match at most 4 couples out of 9 people, meaning that the optimal
solution would be 4.

Exercise
Explain this in one sentence as it is asked in the question.

20
Question 12
Consider the formulation of Maximum Stable Set Problem. This time we are giving values
to nodes, but for every edge. Remember that the formulation is

maximize ∑ xi
All nodes

Subject to
xi + xj ≤ 1 For every edge
xi ∈ {0, 1} For every node
To find the LP relaxation optimum, just make sure that the constraint is binding.

Warning
In this question the argument ”make sure that the constraint is binding” is harmless.
In general, you should be more careful if you are using such an argument. In this case
it does not create any problems.

Set all xi = 12 . Then the corresponding solution is

With an objective function value of 4.5. We shall add the following valid inequality to the
solution. Notice that 1,2,3 forms a clique of three. (Also an odd hole) You can add

x1 + x2 + x3 ≤ 1

To eliminate this solution.

21
Question 13
Find objective function coefficient and cost ratio for every variable. We have R = ( 20 16 25 14 6
3 , 3 , 5 , 4 , 2) =
(6.67, 5.33, 5, 3.5, 3). We pick x1 ,x2 and x3 , still 2 capacity remains. So we pick x5 . Therefore,
the greedy solution is (1, 1, 1, 0, 1) with the objective function value 67. If we had the LP
relaxation of this problem, after picking x1 ,x2 and x3 , we could go for half of the x4 , meaning
that the LP relaxation solution would be (1, 1, 1, 12 , 0) with an objective function value of 68.
Therefore the Absolute Optimality Gap is just 1 units, where the Relative Optimality Gap is
1
67 = 1.49%. Now we shall do tabu search to see if we can improve this or not.

We stop. We couldn’t improve our solution =(.

22
Question 14
Remember that we had the LP relaxation solution of (1, 1, 1, 0.5, 0). We shall use branch
and bound to find the optimal solution. Recall that this is an upper bound to the problem
with a value of 68.
• x4 ≤ 0 or equivalently x4 = 0
For this case let x4 = 0 and drop it from the problem constraint. Use our regular
methodology to find the LP optimum for this problem. As a constraint we now have
3x1 + 3x2 + 5x3 + 2x5 ≤ 13. Notice that we can take all of them without violating any
constraint. So this gives the solution (1, 1, 1, 0, 1) with an optimal solution of 67. This
is also an integer solution so our lower bound is now 67. This node is pruned since the
solution is an integer.
• x4 ≥ 1 or equivalently x4 = 1
For this case let x4 = 1 and drop it from the problem constraint. We now have 3x1 +
3x2 + 5x3 + 2x5 ≤ 9. Then using our method to find the optimum solution, we put x1
and x2 in full and put 53 of x3 . Therefore the corresponding solution is (1, 1, 0.6, 1, 0)
with an objective function value 65. This is not an integer solution, but this node is
also pruned.

Exercise
Why?

The optimal solution to this problem is (1, 1, 1, 0, 1) with an objective function value of 67.

23
Question 15
If you plot this on a graph calculator, you will end up getting

Where the purple region is the feasible region. Note that the only integer points in the area
are (0,0),(1,0),(0,1). We must have a convex region where all its corner points are integer
points. Therefore, the ideal formulation for that integer set is actually x+y ≤ 1. To illustrate
further, consider

Red points are the integer points, while there are no integer points in the black region.

24
Question 16
Let us try to find a minimal cover first. Pick indices 1, 3, 4 and 5. This selection of indices
,say C, is indeed a cover since 3 + 5 + 4 + 2 > 13. If you remove any of these indices, it is
no longer a cover (as you should verify). So this is a minimal cover. Note that you cannot
extend this cover, because there is no index i such that ai ≥ aj , ∀j ∈ C. Frankly, I can say
that I don’t think there exists a cover that you can extend for this problem.

Question 17
Initially we assume K ∗ (0) = 0. Then

K ∗ (1) = min{K ∗ (0) + K(1, 1)} = 0 + K(1, 1)

K(1, 1) is the cost of ordering at period 1 to period 1. So just order 75 in the first period.

K(1, 1) = 50 × 75 + 100 = 3850T L

K ∗ (1) = K(1, 1) = 3850T L


Similarly,
K ∗ (2) = min{K ∗ (0) + K(1, 2), K ∗ (1) + K(2, 2)}
K(1, 2) = 3850T L, K(2, 2) = 0T L
K ∗ (2) = 3850T L

K ∗ (3) = min{K ∗ (0) + K(1, 3), K ∗ (1) + K(2, 3), K ∗ (2) + K(3, 3)}
K(1, 3) is ordering for 3 periods in the first period.

K(1, 3) = 50 × 108 + 100 + 0.02 × 33 + 0.02 × 33 = 5501.32T L

K(2, 3) = 50 × 33 + 100 + 0.02 × 33 = 1750.66T L


K(3, 3) = 50 × 33 + 100 = 1750T L
K ∗ (3) = min{0 + 5501.32, 3850 + 1750.66, 3850 + 1750} = 5501.32T L

K ∗ (4) = min{K ∗ (0) + K(1, 4), K ∗ (1) + K(2, 4), K ∗ (2) + K(3, 4), K ∗ (3) + K(4, 4)}
K(1, 4) = 50 × 136 + 100 + 0.04 × 33 + 0.06 × 28 = 6903T L
K(2, 4) = 50 × 61 + 100 + 0.02 × 33 + 0.04 × 28 = 3151.78T L
K(3, 4) = 50 × 61 + 100 + 0.02 × 28 = 3150.56T L
K(4, 4) = 50 × 28 + 100 = 1500T L
K ∗ (4) = min{0 + 6903, 3850 + 3151.78, 3850 + 3150.56, 5501.32 + 1500} = 6903T L

25
K ∗ (5) = min{K ∗ (0) + K(1, 5), K ∗ (1) + K(2, 5), K ∗ (2) + K(3, 5),
K ∗ (3) + K(4, 5), K ∗ (4) + K(5, 5)}

Observe that the demand for that period is 0, so we have K(t, 5) = K(t, 4) and K(5, 5) = 0.
So
K ∗ (5) = min{0 + 6903, 3850 + 3151.78, 3850 + 3150.56,
5501.32 + 1500, 6903 + 0} = 6903T L

Finally we have

K ∗ (6) = min{K ∗ (0) + K(1, 6), K ∗ (1) + K(2, 6), K ∗ (2) + K(3, 6),
K ∗ (3) + K(4, 6), K ∗ (4) + K(5, 6), K ∗ (5) + K(6, 6)}

K(1, 6) = 50 × 146 + 100 + 0.04 × 33 + 0.06 × 28 + 0.1 × 10 = 7404T L


K(2, 6) = 50 × 71 + 100 + 0.02 × 33 + 0.04 × 28 + 0.08 × 10 = 3652.58T L
K(3, 6) = 50 × 71 + 100 + 0.02 × 28 + 0.06 × 10 = 3651.16T L
K(4, 6) = 50 × 38 + 100 + 0.04 × 10 = 2000.4T L
K(5, 6) = 50 × 10 + 100 + 0.02 × 10 = 600.2T L
K(6, 6) = 50 × 10 + 100 = 600T L
K ∗ (6) = min{0 + 7404, 3850 + 3652.58, 3850 + 3651.16,
5501.32 + 2000.4, 6903 + 600.2, 6903 + 600} = 7404
We are done. The best option is to order everything in period 1.

26
Question 18
Stage: We will have n stages in this formulation. There will be n periods that we can
decide.
States: For every period we have the condition of the machine {0, 1, .., n}.
Decision: Every year we choose between keeping and replacing the machine
Cost-to-go Function: ft (i) the maximum net earnings we can get at stage t while having
a machine of i years of age.
What are we looking for? We are looking for f1 (Age of the initial machine)
Intuitively, beginning of the n + 1st year is the end of our planning horizon. What makes
sense is to sell what we have in our hands after 5 years.

f6 (1) = 5 − 1 = 4
f6 (2) = 5 − 2 = 3
f6 (3) = 5 − 3 = 2
f6 (4) = 5 − 4 = 1
f6 (5) = 5 − 5 = 0 = f6 (6) = f6 (7)
Let us continue to the beginning of year 5. The first argument of max function will always
be the replace decision.

f5 (1) = max{(5 − 1) − 10 + 25 + f6 (1), (25 − 1) + f6 (2)} = 27 − K

f5 (2) = max{(5 − 2) − 10 + 25 + f6 (1), (25 − 4) + f6 (3)} = 23 − K


f5 (3) = max{(5 − 3) − 10 + 25 + f6 (1), (25 − 9) + f6 (4)} = 21 − R
f5 (4) = max{(5 − 4) − 10 + 25 + f6 (1), (25 − 16) + f6 (5)} = 20 − R
f5 (5) = max{−10 + 25 + f6 (1), f6 (6)} = 19 − R
f5 (6) = max{−10 + 25 + f6 (1), f6 (7)} = 19 − R

f4 (1) = max{(5 − 1) − 10 + 25 + f5 (1), (25 − 1) + f5 (2)} = 47 − K


f4 (2) = max{(5 − 2) − 10 + 25 + f5 (1), (25 − 4) + f5 (3)} = 45 − R
f4 (3) = max{(5 − 3) − 10 + 25 + f5 (1), (25 − 9) + f5 (4)} = 44 − R
f4 (4) = max{(5 − 4) − 10 + 25 + f5 (1), (25 − 16) + f5 (5)} = 43 − R
f4 (5) = max{−10 + 25 + f5 (1), f5 (5)} = 42 − R

f3 (1) = max{(5 − 1) − 10 + 25 + f4 (1), (25 − 1) + f4 (2)} = 69 − K

27
f3 (2) = max{(5 − 2) − 10 + 25 + f4 (1), (25 − 4) + f4 (3)} = 65 − K&R
f3 (3) = max{(5 − 3) − 10 + 25 + f4 (1), (25 − 9) + f4 (4)} = 64 − R
f3 (4) = max{(5 − 4) − 10 + 25 + f4 (1), (25 − 16) + f4 (5)} = 63 − R

f2 (1) = max{(5 − 1) − 10 + 25 + f3 (1), (25 − 1) + f3 (2)} = 89 − K


f2 (2) = max{(5 − 2) − 10 + 25 + f3 (1), (25 − 4) + f3 (3)} = 87 − R
f2 (3) = max{(5 − 3) − 10 + 25 + f3 (1), (25 − 9) + f3 (4)} = 86 − R

f1 (2) = max{(5 − 2) − 10 + 25 + f2 (1), (25 − 4) + f2 (3)} = 107 − K&R


We are done. Now trace back to find the optimal policy. Note that you have two options in
the first year. Once you are done, you should get the solutions
• K-R-K-R-K
• R-K-K-R-K
• R-K-R-K-K

Warning
Last semester I made a typo that converted this solution into a complete mess. I
did fix that particular typo, yet the solution was quite confusing. I cannot see any
mistakes so it should be correct now, but I strongly suggest checking the numbers on
your own.

28
Question 19
Initially, we have the following tableau.

We are asked to find a lower bound to this ATSP. Recall that we are trying to minimize.
Solve the problem with the only perfect matching formulation. Using XpressMP, the solution
is x61 = 1, x14 = 1, x42 = 1, x23 = 1, x35 = 1 and x56 = 1, with an objective function value of 43.
Since this formulation is more relaxed than the original ATSP, this value is indeed a lower
bound on the problem itself.

Question 20
Since these variables are binary, in the LP relaxation we also have the constraints of xi ≤ 1
∀i. Then, we can add 31x4 ≤ 31 and 10x3 ≤ 10 to the knapsack constraint. We get

83x1 + 57x2 + 50x3 + 50x4 ≤ 141

Divide everything by 50 and round to their floors to get

x1 + x 2 + x3 + x4 ≤ 2

Hint
Where did 31 and 10 come from? Of course, it is not magic. You just have to look at
the problem to understand its structure a bit... and you have to try!

29
Question 21
When you solve the LP relaxation, you may end up getting the following solution. Numbers
are associated with the nodes that are next to them.

Let us add a clique inequality, for the 1-2-5 clique of three.

x1 + x2 + x5 ≤ 1

We now have

In this question, notice that the objective function values were equal for both of these cases.
This generally won’t be the case, but my solver yielded the fractional solution, so we had to
introduce a cutting plane.

30
Question 22
In addition to xi , i ∈ {0, 1, 2, 3} let us define the following decision variables. Let the edge set
be E and the node set be V .
Formulation I:
Decision Variables:

zij ∶ Absolute difference of colors between node i and j (i,j) ∈ E

yij ∶ Binary (i,j) ∈ E



⎪1, Colors of node i and j are the same

tij = ⎨ (i,j) ∈ E
⎩0, Otherwise


Now we want to ensure that
zij = 0 ⇐⇒ tij = 1
zij = ∣xi − xj ∣

You may end up getting the following model.


Model:

minimize ∑ ∑ tij
E

subject to
M (1 − tij ) ≥ zij ∀(i, j) ∈ E
zij ≥ 1 − tij ∀(i, j) ∈ E

M yij ≥ zij + xi − xj ∀(i, j) ∈ E


M (1 − yij ) ≥ zij + xj − xi ∀(i, j) ∈ E
zij ≥ xi − xj ∀(i, j) ∈ E
zij ≥ xj − xi ∀(i, j) ∈ E
xi ≤ 3 ∀i ∈ V
yij , tij ∈ {0, 1}, xi Integer ≥ 0 ∀i, j ∈ V

Formulation II:
Define integer decision variables wij and sij and binary δij . Notice that we actually want to
have xi ≠ xj , or equivalently xi − xj ≥ 1 or xj − xi ≥ 1. The second formulation is based on
this fact, and counts whenever this constraint is violated.
Model:

31
minimize ∑ wij + sij
(i,j)∈E

subject to
xj − xi + sij ≥ 1 − δij ∀(i, j) ∈ E
xi − xj + wij ≥ −3 + 4δij ∀(i, j) ∈ E
xi ≤ 3 ∀i ∈ V

δij ∈ {0, 1}, xi , wij , sij Integer ≥ 0 ∀(i, j) ∈ E


Exercise
Can you see why Formulation II works? Think about it!

32
Question 23
In this question we have the following graph

By inspection, you can see that it is possible to generate a flow of 9 from node 1 to node
9. Then, you can immediately see that there exists a cut of 9 when you form a partition of
edges with {8, 9} and the others. Then, it follows that the optimal flow is 9. But for the
sake of this assignment, let us start with a bad flow, so that we can improve it using the
Ford-Fulkerson algorithm

We have a flow of 5 that is flowing through 1-2-4-6-7-8-9. The purple circle shows the flow
on that particular arc. Give label (−, ∞) to node 1. This is a node that is labeled but is not
scanned. We start scanning this node. There exists arcs x12 and x13 . Note that these arcs
are unlabeled. We give them labels of (1+ , min{20 − 5, ∞}) and (1+ , min{12 − 0, ∞}) which
are equivalent to (1+ , 15) and (1+ , 12), respectively. We are done with scanning node 1. We
have the following progress so far.

33
Let us arbitrarily pick node 3. There are arcs x35 and x23 . For x35 and node 5, give it the
label (3+ , min{14 − 0, 12}) which is equivalent to (3+ , 12). For arc x23 since node 2 is labeled
we cannot continue further. Then let us move to labeled but unscanned node 2. Node 3 is
labeled so we cannot continue further to node 3. Node 4 is unlabeled and 13 − 5 > 0. So we
replace its label by (2+ , min{13 − 5, 15}) which is equivalent to (2+ , 8).

We now pick node 4. Node 5 is labeled so we cannot change its label. Label node 6, by
(4+ , min{17 − 5, 8}) = (4+ , 8). Then unscanned node 5 exists, label 7 by (5+ , min{19 − 0, 12})
= (5+ , 12). There are no nodes to scan from unscanned node 6. From node 7 you can only
scan node 8. Change its label by (7+ , min{9 − 5, 12}) = (7+ , 4). Node 8 is left unscanned
only. Scan node 9 and change its label to (8+ , min{23 − 4, 4}) = (8+ , 4). We trace back from
9 to 1, and increase the flow by 4. Finally we have the following flow.

34
Now, erase all labels except node 1 and try to run the algorithm one more time to show that
the current flow is indeed optimal.

Exercise
Show that this solution is indeed the optimal solution by running the algorithm one
more time.

Note that you could end up with different optimal flows or different Ford-Fulkerson algorithm
solutions depending on your choice of labeled and unscanned nodes. In the end, you should
come up with something similar, anyway.

35
Question 24
We again have the following graph

We start by initialization. Define ui for each node and set u1 = 0, and 2 and 3 can be reached
by node 1 so u2 = 20, u3 = 12. Define the set of permanently labeled nodes P = {1} and
the set of temporary labeled nodes T = {2, 3, 4, 5, 6, 7, 8, 9}. We initially have the following
graph. Green circles represent permanent labels, while reds represent temporary labels.

Pick the node that has the smallest distance so far, or equivalently pick node θ such that
θ = argmini∈T ui
Reminder
Argmin returns the indices of the min valued ui s. For all indices in set T , mini∈T ui
yields uθ and argmini∈T ui yields θ.

In this case, we pick node 3. Then for node 3, check all subsequent nodes that have temporary
labels. Update their labels by min(Their Current, 3 + Travelling from 3). Only one such
node exists. So we change the label of node 5 to min(∞, 12 + 14) = 26. Put 3 to permanently
labeled indices. In other words P = {1, 3} and T = {2, 4, 5, 6, 7, 8, 9}.

36
Continue with node 2. Update the label of node 4 to 33. Then pick node 5. You can only
update node 7, to 45.

Pick node 4 and update node 6 to 50. Then pick the smallest index, 7 to update 8 to 54.

We cannot update anything with node 6. Update node 9 to 87. We are done. The shortest
path from 1 to 9 is 1-3-5-7-8-9 with cost 87.

37
38
Question 25
A) We want to show that S1 , S2 and S3 are equal. By definition, a valid inequality for a
set X is an inequality that is satisfied for every point in set X. You may have many
options for this part, but since the variable range is not that large, you can enumerate
all possibilities. Let us consider S1 first. Since all x ∈ B, there are 24 = 16 options. (They
are either 1 or 0). All of the quadruples down here are in the form of (x1 , x2 , x3 , x4 ) You
can immediately see that (0, 0, 0, 0), (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) ∈ S1 .
Notice also that we have (1, 1, 1, 1) ∉ S1 . Where did this come from? You basically
cannot give all xi ’s 1 because it would exceed your capacity! Similarly you cannot have
(1, 1, 1, 0), (1, 1, 0, 1), (1, 0, 1, 1) in S1 , because these points also violate the constraint,
but you can take (0, 1, 1, 1) ∈ S1 .

Exercise
Show that we can take (0, 1, 1, 1) ∈ S1 .

Also note that you can pick any two of the indices, as the summation of any two indices
does not exceed 139. Then,

S1 = {(0, 0, 0, 0), (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1), (1, 1, 0, 0),

(1, 0, 1, 0), (1, 0, 0, 1), (0, 1, 1, 0), (0, 1, 0, 1), (0, 0, 1, 1), (0, 1, 1, 1)}
It is exactly the same case for S2 and S3 .

Exercise
Please try to show it on your own. You just need to check which subset of those
16 integer points in B4 hold for the constraint given for S2 and S3 . In the end
they’ll end up being equal to S1 .

B) Now we need to show fractional points that hold for LP (S1 ) and does not hold for
LP (S2 ) and LP (S3 ). Consider the point (1, 1, 52 , 0). It does not violate LP (S1 ), but
it is infeasible in LP (S2 ). Therefore LP (S2 ) ⊂ LP (S1 ). Again, pick the same point.
It also violates LP (S3 ). this gives LP (S3 ) ⊂ LP (S1 ).
C) We have already shown that S2 = S3 in part A. Let us consider LP (S2 ) and LP (S3 ).
Consider the point ( 21 , 1, 1, 0). It works in LP (S2 ), but it does not work since the first
constraint of S3 is violated. Therefore, LP (S3 ) ⊂ LP (S2 )

39
Question 26
Define

⎪1, if ith node belongs to E1

xi = ⎨
⎩0, if ith node belongs to E2


We basically tag nodes to indicate which set they are in. Notice that for a triangle of
nodes,say, i-j-k, we do not want to have xi + xj + xk = 3 or xi + xj + xk = 0. The problem then
becomes
maximize 303
subject to

1 ≤ xi + xj + xk ≤ 2 ∀triangle i-j-k in G
xi ∈ {0, 1} ∀i ∈ V

40
Question 27
In this question we shall check different values of binary x and y.
• Assume (x, y) = (0, 0). Then, we have

z1 ≥ 0

z2 ≥ 1
Which immediately gives
z1 + z2 ≥ 1

• Assume (x, y) = (1, 0). Then, we have

z1 ≥ 1

z2 ≥ 0
Which gives
z1 + z2 ≥ 1

• Assume (x, y) = (0, 1). Then, we have

z1 ≥ 1

z2 ≥ 0
Which gives
z1 + z2 ≥ 1

• Assume (x, y) = (1, 1). Then,


z1 ≥ 0
z2 ≥ 1
Which gives
z1 + z2 ≥ 1

Since we have shown that for all 4 cases of (x, y) pair we get z1 + z2 ≥ 1. Therefore it holds.

41
Question 28
Let us first find the integer solution set, say, X, of the original problem. There are n binary
variables. Since they are binary, they can only take values 0 and 1. Then, we know that
without any constraints there would be 2n possible integer points. We wonder how many of
those constraints actually satisfy those n(n − 1)/2 constraints. It is possible to see that the
point Xi = 1,∀i, or equivalently (1, 1, 1...., 1) satisfies this constraint. So (1, 1, 1...., 1) ∈ X.
Next, let us set X1 = 0. Then, we have to set Xi = 1, ∀i where i ≠ 1. Why? Consider an
integer point with X1 = 0 and for some index i, Xi = 0. X values are 1 for the rest of them.
Then, this point is (0, 1, 1, ..1, 0, 1, ..1, 1). Now you can immediately see that since i > 1, we
have the constraint xi + x1 ≥ 1. By construction, this constraint fails, meaning that when
X1 = 0 we have to set all other Xi = 1. This essentially means (0, 1, 1, 1..., 1, 1) ∈ X.
Let us generalize this argument. Consider any one of the variables, say, jth variable. Then
set Xj = 0. We want to show that if we have Xi = 0 for any i ≠ j, then that point is not in
our region. Assume Xi = 0 and Xj = 0 and i ≠ j. It does not matter which one is greater,
because for both i > j and i < j we have the constraint Xi + Xj ≥ 1. Since they are both
equal to zero by our initial assumption, this cannot be a feasible integer point in our set X.
These paragraphs show that we have to set at least n − 1 of Xi ’s equal to 1. Therefore our
feasible integer set is the following:

X = {(1, 1..., 1, 1), (0, 1, ...1, 1), (1, 0, 1..., 1, 1)..., (1, 1..., 0, 1), (1, 1, ..., 1, 0)}

Now consider the suggested inequality by the problem. It essentially tells you that you have
to set at least n − 1 of these Xi ’s to 1 so that their sum adds up to at least n − 1. It is possible
to argue that all points in X are actually satisfied by the inequality given. So it is indeed a
valid inequality for this problem.
Now we have to show a fractional point that actually violates this valid inequality. Set
Xi = 1/2 for ∀i. Then, observe that all of the original constraints are satisfied. However,
consider our valid inequality. Since Xi = 1/2, the sum adds up to n/2. Then we must have
n
≥n−1
2
This gives
2≥n
Thus, for n > 2 the point (0.5, 0.5...0.5) is being cut by the valid inequality. We have
successfully found a fractional point that violates the new constraint.

Exercise
We do not have to worry about n = 2, why?

42
Question 29
You may end up with the following model.
Decision Variables:
zi ∶ Completion time of job i.
yij ∶ Binary
Model: n
minimize ∑ zi wi
i=1

subject to
M yij ≥ zj + pi − zi ∀i, j ∈ {1, .., n}
M (1 − yij ) ≥ zi + pj − zj ∀i, j ∈ {1, .., n}
yij ∈ {0, 1}, zi ≥ 0 ∀i, j ∈ {1, .., n}

Question 30
By looking at the graph, what is the greatest cycle we can obtain? Notice that you can
obtain a cycle of 9. The cycle is AB-BC-CJ-JD-DE-DF-FH-HG-GA let us call this cycle
C. If you set xij = 0.5, ∀i, j in the above cycle, you get an objective function value of 4.5.
This is the largest value you can get with 9 nodes, by just matching them. There may be
some other solutions with the same objective function value. The matching number is the
integer solution to this problem. Let us see if we can obtain a matching number of 4. Let
xAB = xCD = xEJ = xGH = 1 and observe that we can match 8 nodes with this solution. F is
not matched. (Since the graph is not bipartite, we may NOT expect µ(x) = χ(x) (although
this is not guaranteed)). If you solve the covering problem using any software you’ll get
χ(x) = 6.

43
Question 31
Let us generate the distance table once again.

We create 6 routes of type 0 − i − 0 where i ∈ {1, 2, 3, 4, 5, 6}. Let us also generate savings in
a table

Now try to have 0 − 1 − 4 − 0. We cannot combine them because this route exceeds our truck
capacity of 50 units. Try 0 − 2 − 3 − 0. This also exceeds the truck capacity of 50 since
31 + 21 > 50. Similarly, we cannot obtain 0 − 2 − 4 − 0, 0 − 3 − 5 − 0, 0 − 4 − 5 − 0, and 0 − 3 − 6 − 0.
The next largest savings come from 0 − 1 − 2 − 0. We can combine nodes 1 and 2 to have this
route since 10+21 < 50. We now have the routes 0−1−2−0, 0−3−0, 0−4−0, 0−5−0, 0−6−0,
with truck capacities 31, 31, 42, 25, 37, respectively. Note that you cannot combine anything
else now, so there is no need to search for it. We managed to find a heuristic solution with 5
trucks operating on 5 routes. Was the manager right? Observe that there is only 1 feasible
solution with 6 trucks, and it is the initialization of Clarke-Wright Savings Algorithm. Since
we have found a better solution, it cannot be the optimal one. Therefore, we can argue that
the optimal solution will have at most 5 routes/trucks in it.

44
Question 32
Let us reconstruct the asymmetric tableau.

You may end up having the following model.


6 6
minimize ∑ ∑ dij xij
i=0 j=0

subject to
6
∑ xij = 1 ∀i ∈ {1, 2.., 6}
j=0

6
∑ xki = 1 ∀i ∈ {1, 2.., 6}
k=0

ui − uj + 50xij ≤ 50 − qj ∀i, j ∈ {1, 2.., 6}


qi ≤ ui ≤ 50 ∀i, j ∈ {1, 2.., 6}
xij ∈ {0, 1}, ui integer ∀i, j ∈ {1, 2.., 6}
Solving this in XpressMP yields routes 0 − 1 − 6 − 0, 0 − 2 − 5 − 0, 0 − 3 − 0 and 0 − 4 − 0 with
an objective function value of 97.

45

You might also like