DSS2 - F.Ramezani

Report
Decision Support Systems
(DSS)
F.Ramezani
Department of Computer Engineering
Islamic Azad University SARI Branch
Linear Programming for
Solving the DSS Problems
Outline
2
•
Introduction
•
•
•
Mathematical programming
The Linear Programming Model
Modeling a Linear Programming Problem
•
•
•
•
A Decision Making Example
Developing Linear Programming Model
The Simplex Method
Complications in Simplex Method
Linear Programming
F.Ramezani
Introduction
•
•
Mathematical programming
The Linear Programming Model
Linear Programming
3
F.Ramezani
‫‪Mathematical programming‬‬
‫‪4‬‬
‫‪‬‬
‫برنامه نویسی ریاضی‬
‫برای پیدا کردن بهترین راه حل بهینه برای یک مسئله مورد استفاده قرار‬
‫میگیرد‬
‫مسائلی که نیاز به یک تصمیم و یا مجموعه ای از تصمیم گیری در مورد‬
‫بهترین روش برای استفاده از مجموعه ای از منابع محدود برای رسیدن به‬
‫هدف خاصی از اهداف مورد استفاده قرار میگیرد‪.‬‬
‫‪‬‬
‫مراحل دخیل در برنامه ریزی ریاضی‬
‫‪ ‬تبدیل مسئله اظهار داشت به یک مدل ریاضی است که خالصه همه عناصر‬
‫ضروری مسئله است‪.‬‬
‫‪ ‬اکتشاف راه حل های مختلف مسئله‪.‬‬
‫‪ ‬پیدا کردن مناسب ترین راه حل و یا مطلوب‪.‬‬
‫‪‬‬
‫برنامه ریزی خطی‪ ،‬مستلزم آن است که تمام توابع ریاضی با مدل‬
‫توابع خطی مورد بررسی قرار گیرد‪.‬‬
‫‪F.Ramezani‬‬
‫‪Linear Programming‬‬
The Linear Programming Model (1)
5
Let:
X1, X2, X3, ………, Xn = decision variables
Z = Objective function or linear function
Requirement: Maximization of the linear function Z.
Z = c1X1 + c2X2 + c3X3 + ………+ cnXn
subject to the following constraints:
Linear Programming
where aij, bi, and cj are given constants.
…..Eq (1)
…..Eq (2)
F.Ramezani
The Linear Programming Model (2)
6

The linear programming model can be written in
more efficient notation as:
…..Eq (3)
The decision variables, xI, x2, ..., xn, represent levels of n competing
Linear Programming F.Ramezani
activities.
Modeling a LP Problem
•
•
•
•
•
A Decision Making Example
Developing Linear Programming Model
The Simplex Method
Sensitivity Analysis
Complications in Simplex Method
Linear Programming
7
F.Ramezani
‫‪A Decision Making Example‬‬
‫‪8‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫میخواهیم تولیداتی به مقدار ثابت از منابع مختلف از جمله مواد‬
‫خام‪ ،‬و تجهیزات داشته باشیم‪.‬‬
‫این منابع را می توان در ترکیب برای تولید هر یک از‬
‫محصوالت مختلف استفاده کرد‪.‬‬
‫مقدار ‪ i‬ام منبع مورد نیاز برای تولید یک واحد محصول ‪ j‬ام‬
‫شناخته شده است‪.‬‬
‫هدف تصمیم ساز‪ ،‬تولید ترکیبی از محصوالت است که کل درآمد‬
‫حداکثر شود‪.‬‬
‫‪F.Ramezani‬‬
‫‪Linear Programming‬‬
‫‪Developing Linear Programming‬‬
‫)‪Model (1‬‬
‫‪‬‬
‫مراحل‪:‬‬
‫‪ ‬تعیین و توصیف متغیر های مسئله و تابع معیار در شرایط استفاده از‬
‫متغیرهای تصمیم‪.‬‬
‫‪ ‬یافتن محدودیت های مسئله‪.‬‬
‫‪ ‬تجزیه و تحلیل محدودیت ها و متغیر ها و ارزیابی ارزش ها برای‬
‫متغیرهای تصمیم‬
‫‪ ‬در نهایت‪ :‬بهینه سازی تابع معیار در حالی که رضایت همه‬
‫محدودیت های تحمیل شده بر این مسئله ارضا شود‪.‬‬
‫‪F.Ramezani‬‬
‫‪Linear Programming‬‬
‫‪9‬‬
Developing Linear Programming Model (2)
10
Example: Product Mix Problem

A manufacturer has two products, A and B

And has two resources, R1 and R2

Each unit of product A requires 1 unit of R1 and 3 units of R2

Each unit of product B requires 1 unit of R1 and 2 units of R2

The manufacturer has 5 units of R1 and 12 units of R2

Profit:


6$ per each unit of product A sold.
5$ per each unit of product B sold.
Linear Programming
F.Ramezani
Developing Linear Programming Model (3)
11

Represent as table form
R1
R2
Profit per
unit
Product A
1
3
6$
Product B
1
2
5$
Amount of resources:
5
12
Linear Programming
F.Ramezani
‫‪Developing Linear Programming‬‬
‫)‪Model (4‬‬
‫‪‬‬
‫فرموله کردن ریاضی مسئله (مدلسازی) دارای ‪ 4‬مرحله است‪:‬‬
‫‪ ‬شناسایی متغیرهای تصمیم‬
‫‪ ‬نوشتن تابع هدف‬
‫‪ ‬نوشتن محدودیت‬
‫‪ ‬نوشتن محدودیت غیر منفی‬
‫همه آنها باید خطی باشند‪.‬‬
‫‪F.Ramezani‬‬
‫‪Linear Programming‬‬
‫‪12‬‬
Developing Linear Programming Model (5)
13

Define decision variables:


x1 be number of units of A produced
x2 be number of units of B produced

Objective function (A linear function)

Constraints
z = 6 x 1 + 5 x2



x1 + x2 ≤ 5
3 x1 + 2 x2 ≤ 12
Non negativity restriction

x1 , x2 ≥ 0
Linear Programming
F.Ramezani
Developing Linear Programming Model (6)
14

Graphical Solution to LP Problem

We must maximized
z = 6 x1 + 5 x2
 x 1 + x2 ≤ 5
 3 x1 + 2 x2 ≤ 12
 x1 , x2 ≥ 0
Linear Programming
F.Ramezani
Problem Formulation
‫حل مسئله نمونه‬
max 10 X 1  9 X 2  8 X 3  7 X 4  6 X 5  4 X 6  3 X 7  5 X 8  4 X 9
X 1 , , X 1 0
s .t . 1( X 1  X 2  X 3  X 4 )  2 ( X 5  X 6  X 7 )  1( X 8  X 9 )  100
10 ( X 1  X 2  X 3  X 4 )  4 ( X 5  X 6  X 7 )  5 ( X 8  X 9 )  700
3 ( X 1  X 2  X 3  X 4 )  2 ( X 5  X 6  X 7 )  1( X 8  X 9 )  400
0  X 1  40
0  X 2  60

X9  0
MATLAB PROGRAM







f=[-10 -9 -8 -7 -6 -4 -3 -5 -4]';
A=[1 1 1 1 2 2 2 1 1; 10 10 10 10 4 4 4 5 5;3 3 3 3 2 2 2 1 1];
b=[100;700;400];
Aeq=[];beq=[];
LB=[0 0 0 0 0 0 0 0 0];
UB=[40 60 50 Inf 50 50 Inf 100 Inf];
[X,FVAL]=LINPROG(f,A,b,Aeq,beq,LB,UB)
‫)‪The Simplex Method (1‬‬
‫‪17‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫روش سیمپلکس یکی از روش های کالسیک برای حل مسائل ‪،LP‬‬
‫یکی از مهم ترین الگوریتم های که تا کنون اختراع شده است میباشد‬
‫توسط ‪ George Dantzig‬در سال ‪( 1947‬دانشگاه استنفورد)‬
‫هنگامی که متغیرهای تصمیم گیری بیش از ‪ ،2‬باشد روش نمایش‬
‫گرافیکی مناسب نیست ‪.‬توصیه میشود از روش سیمپلکس استفاده‬
‫گردد‪.‬‬
‫در این روش به بررسی تمام راه حل های عملی حل مسئله پرداخته‬
‫میشود‪.‬‬
‫این روش فقط یک مجموعه کوچک و منحصر به فرد از راه حل های‬
‫عملی را تولید میکند‬
‫‪ ‬مجموعه ای از نقاط راسهایی از فضای امکان پذیر که شامل راه حل بهینه‬
‫است را جستجو میکند‬
‫‪F.Ramezani‬‬
‫‪Linear Programming‬‬
‫)‪The Simplex Method (2‬‬
‫‪18‬‬
‫‪‬‬
‫فرم استاندارد مسائل ‪LP‬‬
‫‪ ‬همیشه دنبال حداکثر سازی یک مسئله هستیم‬
‫‪ ‬تمام محدودیت (به جز محدودیت های غیر منفی) باید در فرم از معادالت‬
‫خطی نوشته شوند‬
‫‪ ‬تمام متغیرهای مورد نیاز باید نامنفی باشند‪.‬‬
‫بطور کلی مشکل برنامه ریزی خطی به صورت استاندارد با ‪ m‬محدودیت‬
‫و ‪ n‬متغیر بیان میشود که (‪)m ≥ n‬‬
‫‪ maximize c1 x1 + ...+ cn xn‬‬
‫‪ subject to ai1x1+ ...+ ain xn = bi , i = 1,...,m,‬‬
‫‪x1 ≥ 0, ... , xn ≥ 0‬‬
‫‪ ‬هر مسئله ‪ LP‬را می توان بدین صورت نشان داد‪.‬‬
‫‪F.Ramezani‬‬
‫‪Linear Programming‬‬
The Simplex Method (2)
19

Objective function (A linear function)
Maximize z = 6 x1 + 5 x2
Subject to:
x1 + x2 ≤ 5
3 x1 + 2 x2 ≤ 12
x1 , x 2 ≥ 0
Linear Programming
F.Ramezani
The Simplex Method (3)
20

Convert all the inequality constraints into
equalities by the use of slack variables
(Standard form).

z - 6 x1 - 5 x2 = 0

x1 + x 2 + x 3 = 5

3 x1 + 2 x2 + x4 = 12

x1 , x 2 , x 3 , x4 ≥ 0
Linear Programming
F.Ramezani
The Simplex Method (5)
21

Iteration 1
x3 and x4 are basic variables:


x3 = 5 - x 1 - x2

x4 = 12 - 3 x1 - 2 x2

z = 6 x1 + 5 x2
x1 can increase the objective function (z) with
higher rate
Linear Programming
F.Ramezani
The Simplex Method (6)
22

Iteration 2
So now, x1 and x3 are basic variables:


3 x1 = 12 – 2 x2 – x4
x1 = 4 – 2/3 x2 – 1/3 x4

x3 = 1 – 1/3 x2 + 1/3 x4

z = 24 + x2 - 2 x4
x2 can increase the objective function (z) with
higher rate
Linear Programming
F.Ramezani
The Simplex Method (7)
23

Iteration 3
So now, x1 and x2 are basic variables:


x2 = 3 – 3 x3 + x4

x1 = 2 + 2 x3 - x4

z = 27 – 3 x3 - x4
Solution:
 X1 = 2
 X2 = 3
 Z = 27
All of the coefficients are lower than zero, so
we are on optimal point.
Linear Programming
F.Ramezani
EXAMPLE
24
Resolve using the Simplex Method the following problem:
Maximize
Z = f(x,y) = 3x + 2y
subject to:
2x + y ≥ 18
2x + 3y ≥ 42
3x + y ≥ 24
x≥0,y≥0
Linear Programming
F.Ramezani
EXAMPLE
25

Turning the inequalities into equalities
2x + y + r = 18
2x + 3y + s = 42
3x +y + t = 24
Linear Programming
F.Ramezani
EXAMPLE
26

Equaling the objective function to zero
- 3x - 2y + Z = 0
Linear Programming
F.Ramezani
EXAMPLE
27

Writing the initial board simplex
Board I . 1st iteration
Base
P0
P1
P2
P3
P4
P5
P3
18
2
1
1
0
0
P4
42
2
3
0
1
0
P5
24
3
1
0
0
1
Z
0
-3
-2
0
0
0
Linear Programming
F.Ramezani
EXAMPLE
28
Board I . 1st iteration
Base
P0
P1
P2
P3
P4
P5
P3
18
2
1
1
0
0
P4
42
2
3
0
1
0
P5
24
3
1
0
0
1
Z
0
-3
-2
0
0
0
In our case: 18/2 [=9] , 42/2 [=21] y 24/3 [=8]
Linear Programming
F.Ramezani
EXAMPLE
29

New pivot row = (Old pivot row) / (Pivot)
Remainders rows:
New row = (Old row) - (Coefficients) x (New pivot row)
Old row P4
42
2
3
0
1
0
Coefficient
2
2
2
2
2
2
x
x
x
x
x
x
8
1
1/3
0
0
1/3
=
=
=
=
=
=
26
0
7/3
0
1
-2/3
New pivot
row
New row P4
Linear Programming
F.Ramezani
EXAMPLE
30
2 / 1/3 [=6] , 26 / 7/3 [=78/7] and 8 / 1/3 [=24]
Board II . 2nd iteration
Base
P0
P1
P2
P3
P4
P5
P3
2
0
1/3
1
0
-2/3
P4
26
0
7/3
0
1
-2/3
P1
8
1
1/3
0
0
1/3
Z
24
0
-1
0
0
1
Linear Programming
F.Ramezani
EXAMPLE
31

6/(-2) [=-3] , 12/4 [=3], and 6/1 [=6]
Board III . 3rd iteration
Base
P0
P1
P2
P3
P4
P5
P2
6
0
1
3
0
-2
P4
12
0
0
-7
1
4
P1
6
1
0
-1
0
1
Z
30
0
0
3
0
-1
Linear Programming
F.Ramezani
EXAMPLE
32

Board IV . 4th iteration
(x,y) = (3,12)
Base
P0
P1
P2
P3
P4
P5
P2
12
0
1
-1/2
1/2
0
P5
3
0
0
-7/4
1/4
1
P1
3
1
0
3/4
-1/4
0
Z
33
0
0Linear5/4
1/4
Programming
0
F.Ramezani
‫مزیت و معایب‬
‫‪33‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫این ساختار تجزیه و تحلیل با تغییر ضرایب در تابع هدف و محاسبه‬
‫راه حل‪ ،‬حساسیت محاسبه جوابها را کمتر میکند‪.‬‬
‫به عنوان مثال در مطالعه مورد بحث‪:‬‬
‫قیمت فروش واقعی (یا ارزش بازار) با دو محصول ممکن است زمان‬
‫به زمان تغییر کند‪.‬‬
‫در صورتی که مقدار منابع به طور ناگهانی به دلیل کمبود‪ ،‬شکست‬
‫ماشین آالت‪ ،‬و یا رویدادهای دیگر تغییر کند ‪ ،‬آیا این راه حل در حال‬
‫حاضر راه حل مطلوب باقی می ماند؟‬
‫مقدار هر نوع منبع مورد نیاز برای تولید یک واحد از هر نوع‬
‫محصول می تواند به صورت افزایشی یا کاهشی تغییر کند‪ .‬آیا با‬
‫چنین تغییراتی میتوان راه حل بهینه را محاسبه کرد؟‬
‫‪F.Ramezani‬‬
‫‪Linear Programming‬‬
‫‪Complications in Simplex Method‬‬
‫)‪(1‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫در تابع هدف به جای حداکثر پیداکردن بخواهیم حد اقل را پیدا‬
‫کنیم‪.‬‬
‫محدودیت های بزرگتر یا مساوی قابل قبول نیستند‪.‬‬
‫تبدیل تساوی به جای نابرابری برای محدودیتها مشکل است‪.‬‬
‫متغیرهای تصمیم گیری نامحدود باشند‪.‬‬
‫برخی یا تمام متغیرهای تصمیم باید اعداد صحیح باشند‪.‬‬
‫اگر بیش از یک راه حل بهینه وجود داشته باشد ممکن است در‬
‫هر بار محاسبه یکی محاسبه گردد‬
‫‪F.Ramezani‬‬
‫‪Linear Programming‬‬
‫‪34‬‬
35
EXAMPLE OF SIMPLEX
PROCEDURE
Linear Programming
F.Ramezani
36
EXAMPLE OF SIMPLEX
PROCEDURE
Linear Programming
F.Ramezani
37
EXAMPLE OF SIMPLEX
PROCEDURE
Linear Programming
F.Ramezani
38
EXAMPLE OF SIMPLEX
PROCEDURE
Linear Programming
F.Ramezani
EXAMPLE
39

Minimize: C = −2x + y subject to:
Linear Programming
F.Ramezani
EXAMPLE
40
Linear Programming
F.Ramezani
EXAMPLE
41
Our maximum of P occurs at x = 4, y = 0 and
the maximum value of P is 8. Since
P = −C our minimum for C is −8.
Linear Programming
F.Ramezani
‫تمرین‬
42
max Z  10 x1  6 x 2  4 x 3
s .t . x1  x 2  x 3  100
10 x1  4 x 2  5 x 3  600
2 x1  2 x 2  6 x 3  300
x1 , x 2 , x 3  0
Linear Programming
F.Ramezani

similar documents