190 likes | 375 Views
Learning Outcomes. Mahasiswa dapat menghitung solusi masalah/kasus model PL dengan menggunakan metode Simpleks. Outline Materi:. Pemecahan studi kasus PL dengan metode Simpleks. Studi kasus Maksimisasi Studi kasus Minimisasi. Pembahasan. Standard form:. Maximize 5 x 1 + 4 x 2 + 3 x 3
E N D
Learning Outcomes • Mahasiswa dapat menghitung solusi masalah/kasus model PL dengan menggunakan metode Simpleks..
Outline Materi: • Pemecahan studi kasus PL dengan metode Simpleks. • Studi kasus Maksimisasi • Studi kasus Minimisasi. • Pembahasan..
Standard form: Maximize 5x1 + 4x2 + 3x3 Subject to 2x1 + 3x2 + x3 5 4x1 + x2 + 2x3 11 3x1 + 4x2 + 2x3 8 x1, x2, x3 0.
Slack form: we add “slack” variables Maximize 5x1 + 4x2 + 3x3 Subject to 2x1 + 3x2 + x3 + x4 = 5 4x1 + x2 + 2x3 + x5 = 11 3x1 + 4x2 + 2x3 + x6 = 8 x1, x2, x3, x4, x5, x6 0. In slack form all constraints are of equality except the non-negativity constraints.
Basic and nonbasic variables. Basic solution. The basic variables are the ones on the left (in red). The nonbasic variables are the rest. The basic solution is produced by setting all nonbasic variables to 0: x1=x2=x3=0. we get x4=5, x5=11, x6=8, z=0. z= 5x1 + 4x2 + 3x3 x4 = 5 - 2x1 - 3x2- x3 x5 = 11 - 4x1 - x2- 2x3 x6 = 8 - 3x1- 4x2 - 2x3
The idea: Choose a nonbasic variable such that increasing it will increase the basic solution. Increase it until one of the basic variables becomes 0. This step is called "pivot".
1st Iteration We want to increase the value of z from its current value of 0. Clearly, increasing the value of x1will increase the value of z. By how much can we increase it? z= 5x1 + 4x2 + 3x3 x4 = 5 - 2x1 - 3x2- x3 x5 = 11 - 4x1 - x2- 2x3 x6 = 8 - 3x1- 4x2 - 2x3 x4 0 5 – 2x1 0 5 2x1x1 5/2 x5 0 11 – 4x1 0 11 4x1x1 11/4 x6 0 8 – 3x1 0 8 3x1x18/3
1st Iteration We want to increase the value of z from its current value of 0. Clearly, increasing the value of x1will increase the value of z. By how much can we increase it? “entering variable” z= 5x1 + 4x2 + 3x3 x4 = 5 - 2x1 - 3x2- x3 x5 = 11 - 4x1 - x2- 2x3 x6 = 8 - 3x1- 4x2 - 2x3 “leaving variable” x4 0 5 – 2x1 0 5 2x1x1 5/2 x5 0 11 – 4x1 0 11 4x1x1 11/4 x6 0 8 – 3x1 0 8 3x1x18/3
X1’s row: x4 = 5 - 2x1 - 3x2- x3 x1 = (5 - 3x2- x3 - x4 )/2 = x1 = 5/2 - 3/2x2 - 1/2x3- 1/2x4 The other rows (substitute X1): x5 = 11 - 4x1 - x2- 2x3 x5 =11- 4(5/2 - 3/2x2 - 1/2x3- 1/2x4) - x2- 2x3 x5 = 1 + 5x2+2x4 x6 = ….
2nd Iteration Now we see that increasing the value of x3 will improve the value of z. z= 25/2 - 7/2x2 + 1/2x3 - 1/2x4 x1 = 5/2 - 3/2x2 - 1/2x3- 1/2x4 x5 = 1 + 5x2 + 2x4 x6 = 1/2 + 1/2x2- 1/2x3 + 3/2x4 x1 0 5/2 – 1/2x3 0 5/2 1/2x3x3 5 x5 0 x3 unbounded x6 0 1/2 – 1/2x3 0 1/2 1/2x3x1 1
Optimal!!! z= 13 - 3x2 - x4 - x6 x1 = 2 - 2x2 - 2x4+ x6 x5 = 1 + 5x2 + 2x4 x3 = 1 + x2+ 3x4 - 2x6 The solution: x1 = 2, x2 = 0, x3 = 1x4 = 0, x5 = 1, x6 = 0. z= 13.
The algorithm: Assume we have a procedure “Init-Simplex” that takes a LP in standard form and returns a LP in slack form with basic feasible solution, or a message “infeasable”. Notation: n Maximize ci xi i=1 Subject to n aij xj bi , 1 i m j=1 xj 0 , 1 j n
n Maximize ci xi i=1 Subject to n aij xj bi , 1 i m j=1 xj 0 , 1 j n • Note: • The objective function does not affect the feasibility of the program. • If x1, …, xn is a feasable solution to L then • x0 =0, x1, …, xn is a feasable solution to Laux, and it’s optimal since we have x0 0. • 3. If x0 =0, x1, …, xn is the optimal solution to Laux then x1, …, xn is a feasable solution to L. let Laux be the following program Maximize - x0 Subject to n aij xj– x0 bi , 1 i m j=1 xj 0 , 0 j n
Maximize - x0 Subject to n aij xj – x0 bi , 1 i m j=1 xj 0 , 0 j n Denote by blthe minimal bifor1 i m . By choosing x0 as the entering variable and xl as the leaving variable we get a basic feasable solution: We get: n xn+l = bl – aij xj + x0 j=1 n x0 = -bl + aij xj + xn+l , 1 i m j=1 Now for each other row xi we get after subtituting x0 that bi‘=bi + x0 0 because bl was minimal Transformed to slack form: Maximize - x0 Subject to n xn+i = bi – aij xj + x0 , 1 i m j=1 xj 0 , 0 j n+m
Finding the initial feasable solution: an example 1.The original program: Maximize 2x1 - x2 Subject to 2x1 - x2 2 x1 - 5x2 -4 x1, x2 0. 2.The auxiliary program: Maximize - x0 Subject to 2x1 - x2- x0 2 x1 - 5x2- x0 -4 x1 , x2 ,x0 0.
3.In slack form (basic solution not feasable!): z = - x0 x3=2 - 2x1 + x2 + x0 x4=-4 - x1 + 5x2 + x0 4.Pivoting. Minimal (x4) is leaving, x0 is entering: x4= -4 - x1 + 5x2 + x0 x0=4 + x1 - 5x2 + x4 x3=2 - 2x1 + x2 + x0 x3=2 - 2x1 + x2 + 4 + x1 - 5x2 + x4 = 4 + …..
3.In slack form (basic solution not feasible!): z = - x0 x3=2 - 2x1 + x2 + x0 x4=-4 - x1 + 5x2 + x0 4.Pivoting. Minimal (x4) is leaving, x0 is entering: x4= -4 - x1 + 5x2 + x0 x0=4 + x1 - 5x2 + x4 x3=2 - 2x1 + x2 + x0 x3=2 - 2x1 + x2 + 4 + x1 - 5x2 + x4 = 4 + ….. Now that we have slack form with the basic solution feasible we can call Simplex!
The primal problem (1): n Maximize cj xj j=1 Subject to n aij xj bi , 1 i m j=1 xj 0 , 1 j n Maximize 5x1 + 4x2 + 3x3 Subject to 2x1 + 3x2 + x3 6 4x1 + x2 + 2x3 11 x1, x2, x3 0. The dual problem (2): Minimize 6y1 + 11y2 Subject to 2y1 + 4y2 5 3y1 + y2 4 y1 + 2y2 3 y1, y2 0. m Minimize bj yj j=1 Subject to m aij yj ci , 1 j n i=1 yj 0 , 1 i m
Terima Kasih, Semoga sukses..