24.03.2013 Views

Linear Programming Lecture Notes - Penn State Personal Web Server

Linear Programming Lecture Notes - Penn State Personal Web Server

Linear Programming Lecture Notes - Penn State Personal Web Server

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

The complete problem describing McLearey’s situation is:<br />

⎧<br />

min 200x1 + 200x2 + 200x3 + y1 + y2 + 5y3<br />

⎪⎨ s.t. yt−1 + xt = yt + dt ∀t ∈ {1, 2, 3}<br />

(6.37)<br />

xt ≤ 150 ∀t ∈ {1, 2, 3}<br />

⎪⎩<br />

xt, yt ≥ 0 ∀t ∈ {1, 2, 3}<br />

Constraints of the form xt ≤ 150 for all t come from the fact that McLearey can produce at<br />

most 150 shamrocks per day.<br />

This simple problem now has 6 variables and 6 constraints plus 6 non-negativity constraints<br />

and it is non-trivial to determine a good initial basic feasible solution, especially<br />

since the problem contains both equality and inequality constraints.<br />

A problem like this can be solved in Matlab (see Chapter 3.11), or on a commercial or<br />

open source solver like the GNU <strong>Linear</strong> <strong>Programming</strong> Kit (GLPK, http://www.gnu.org/<br />

software/glpk/). In Figure 6.3 we show an example model file that describes the problem.<br />

In Figure 6.4, we show the data section of the GLPK model file describing McLearey’s<br />

problem. Finally, figure 6.5 shows a portion of the output generated by the GLPK solver<br />

glpsol using this model. Note that there is no inventory in Year 3 (because it is too<br />

expensive) even though it might be beneficial to McLearey to hold inventory for next year.<br />

This is because the problem has no information about any other time periods and so, in a<br />

sense, the end of the world occurs immediately after period 3. This type of end of the world<br />

phenomenon is common in multi-period problems.<br />

105

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!