Adv Or 13902 Chap3 Integer Programming
- 1. 21/مه/91 دکتر سلیمی فرد ::
http://faculty.pgu.ac.ir/salimifard
آضٌبیی بب برًبهِریسی عذد صحیح
هسئلِ ثشًبهِسیضی خغی ػذد صحیح، کِ دس آى ثشخی یب
ّوِ هتغیشّبی تصوین، ػذد صحیح ًبهٌفی است. چشا؟
غیشٍاقؼی ثَدى هقذاس اػطبسی دس ثسیبسی اص هسبئل ٍاقؼی
گبّی ًیبص ثِ تصوینگیشی ثب هتغیشّبی دٍ ٍضؼیتی
دکتر سلیوی فرد
هذلسبصی ٍاقؼیتش هسبئل دًیبی ٍاقؼی
گشٍُ هذیشیت صٌؼتی، داًطگبُ خلیح فبسس، ثَضْش
اهب، دضَاسی دس حل!!
http://www.pgu.ac.ir/web/salimifard
)Integer Linear Programming (ILP
شنبه، 91/50/2102 4
هذل برًبهِریسی خطی )(LP گًَِّبی هسئلِ ILP
} max{c1x 1 c 2 x 2 ... c n x n تبثغ ّذف
:subject to • هذل LP • ثشًبهِسیضی ػذد صحیح خبلص
1a11x 1 a12 x 2 ... a1n x n b – ّوِ هتغیشّبی تصوین ػذد صحیح
2 a21x 1 a22 x 2 ... a2 n x n b هحذٍدیتْب
• ثشًبهِسیضی ػذد صحیح آهیختِ
am 1x 1 am 2 x 2 ... amn x n b m – ثشخی هتغیشّبی تصوین ػذد صحیح
,1 x j 0 ( j ),n هحذٍدیت هتغیشّب • ثشًبهِسیضی صفش ٍ یک (دٍدٍیی)
max c T x :where – ّوِ هتغیشّبی تصوین دٍ ٍضؼیتی
x, c: n-vector
Ax b :A m,n-matrix
• ضکل هبتشیسی
0x :b m-vector )0-1 Integer Programming (BIP
)Mixed Integer Programming (MIP
)Pure Integer Programming (PIP
شنبه، 91/50/2102 6 شنبه، 91/50/2102 5
حل هسئلِ برًبهِریسی خطی : ترسیوی هثبل برًبهِریسی خطی
} 2 max {x 1 x } 2 max {x 1 x
T
1 x
max 1
1 x 2
:subject to 6 4 2 x1 x 2
2x :subject to
4 2x 1 x 2 5 21 3x1 4 x 2
4 2x 1 x 2 : subject to
21 3x 1 4x 2 4
6 x1 x 2
21 3x 1 4x 2
یا 2 1 x1 4
)2 ,1 x j 0 ( j 3 4 x 12
3 )(objective
2
)2 ,1 x j 0 ( j 2
هٌغقِ هَخِ 1 x1 0
x 2 0
1x
0 1 2 3 4 5 6
شنبه، 91/50/2102 8 شنبه، 91/50/2102 7
1 پژوهش عملیاتی :: برنامهریزی پویا
- 2. 21/مه/91 دکتر سلیمی فرد ::
http://faculty.pgu.ac.ir/salimifard
هذل برًبهِریسی عذد صحیح : حل ترسیوی حل هسئلِ برًبهِریسی خطی
} 2 max {x 1 x +x1,x2 Z
• ضیَُ ّبی حل
:subject to 2x
6 – سٍش سیوپلکس (دٍگبى)
4 2x 1 x 2 5 – سٍضْبی کبسآ (هبًٌذ الگَسیتن کبسهبسکبس)
4 • ثستِ ّبی ًشم افضاسی
21 3x 1 4x 2
3 www.lindo.com LINDO –
)2 ,1 x j Z ( j 2
LINGO –
CPLEX –
1 XPRESS-MP –
2 پبسخ ثْیٌِ 1x • ًشم افضاسّبی هذلسبصی
0 1 2 3 4 5 6
– AIMMS
شنبه، 91/50/2102 01 شنبه، 91/50/2102 – AMPL 9
2max Z 3 x1 2 x
حل :ILPگرد کردى حل LP حل :ILPگرد کردى حل LP
3
x1 x2 2x • پیطگیشی اص ّشصسفت ٍقت
2 81=Z
3 )5.4 ,3( • گشد کشدى پبسخ کسشی LP
2 x1 x2
2 – ثب ضوبس صیبد هتغیش، ضبیذ ثذ ًجبضذ
x1 , x2 0 int – گبّی پبسخ ًبضذًی است!
x
)0,0( ,)1,0( ,)1,1( ,)2,1( ,)3,2(
• پٌح1 پبسخ صحیح
• پبسخ ثب گشد کشدى )5,3( ,)4,3(
شنبه، 91/50/2102 21 شنبه، 91/50/2102 11
الگَریتوْبی حل ILP
• دس ًگبُ ًخست، حل ILPسبدُ تش اص LPاست
– چَى؛ ثِ خبی ثیٌْبیت ًقغِ، ضوبسی ًقغِ صحیح
• اهب، دس LPخستدَی هشصی
– فقظ ًقبط فشیي (گَضِ ای)
• ٍلی دس ILPخستدَی دسًٍی
– ّوِ ًقبط صحیح
• ًجَد سٍضی کبسآ ّوبًٌذ سیوپلکس ثشای ILP
• دٍ الگَسیتن
– ضبخِ ٍ کشاى
– صفحِ ثشضی
41 شنبه، 91/50/2102 31
2 پژوهش عملیاتی :: برنامهریزی پویا
- 3. 21/مه/91 دکتر سلیمی فرد ::
http://faculty.pgu.ac.ir/salimifard
الگَریتن ضبخِ ٍ کراى الگَریتن ضبخِ ٍ کراى
• یک سٍیِ خستدَی پی دس پی • یک سٍیکشد تقسین کي، پیشٍص ضَ ! )(divide-and-conquer
– تقسین هٌغقِ هَخِ ثِ هٌغقِّبی کَچکتش • ثِ ٍسیلِ Doing ٍ Landدس 0691
– ثشسسی اهکبى پبسخ دس هٌغقِّبی کَچکتش • سٍیِ هحبسجبتی ثِ ٍسیلِ Dakinدس 5691
– هٌغقِ هَخِ کَچکتش ثیبًگش یک هسئلِ فشػی
• ّش ILPدس ٍاقغ یک LPاست
• حل یک ILP – ثب هحذٍیتْبیی افضٍدًی ثشای صحیح ثَدى هتغیشّب
– حل پی دس پی ضوبسی هسئلِ فشػی – هٌغقِ هَخِ ILPثخطی اص هٌغقِ هَخِ LPاست
– ثٌبثشایي ّوَاسُ Z*ILP ≤ Z*LP
Branch and Bound Algorithm
شنبه، 91/50/2102 61 شنبه، 91/50/2102 51
الگَریتن ضبخِ ٍ کراى : هسئلِ دٍ هتغیرُ الگَریتن ضبخِ ٍ کراى : هسئلِ دٍ هتغیرُ
• ثب اًتخبة xjثشای ضبخِ صًی ZLP • حل هسئلِ ثذٍى تَخِ ثِ ضشط صحیح ثَدى
– یبفتي پبسخ ثْیٌِ هذل RLP
– یک هسئلِ فشػی ثب افضٍدى هحذٍدیت xj < Lj
ZILP
• اگش پبسخ ،RLPػذد صحیح است، آًگبُ پبیبى.
– یک هسئلِ فشػی ثب افضٍدى هحذٍدیت 1 + xj ≥ Lj – اگش ًِ، -ثذتشیي هقذاس تبثغ ّذف ILPاست
ZL=- – ایي حذ پبییي است، ZL
• هقذاس ثبثت : Ljثضسگتشیي ػذد صحیحی کِ اص هقذاس ثْیٌِ – ثْتشیي هقذاس تبثغ ّذف ّ ، ILPوبى ZLP
* xjکَچکتش است. • ّش گبُ دس فشایٌذ حل، پبسخ هَخِ صحیح ثْتش یبفت ضذ، خبیگضیي
هقذاس ZLهی ضَد
• * xjاص پبسخ ثْیٌِ هسئلِ LPاٍلیِ ثِ دست هیآیذ. • دس ّش گبم، تقسین هٌغقِ هَخِ ثب افضٍدى یک هحذٍدیت خذیذ
– ثب کوک هتغیش ضبخِ صًی )(branching variable
)Relaxed Linear Programming (RLP
شنبه، 91/50/2102 81 شنبه، 91/50/2102 71
الگَریتن ضبخِ ٍ کراى : هسئلِ دٍ هتغیرُ الگَریتن ضبخِ ٍ کراى : هسئلِ دٍ هتغیرُ
• هسئلِ صیش دادُ ضذُ است:
52.14=Z
52.2=1X • چٌذ ًکتِ 2max Z 5 x1 8 x
57.3=2X – پبسخ RLPهَخِ ًیست 6 x1 x2
• حل RLPآى ثِ صَست صیش است
• ّش چٌذ کِ ثْیٌِ است ! 54 5 x1 9 x2
– فقظ 52 ًقغِ صحیح هَخِ
است Z*ILP – هقذاس ، Z*LPثیطیٌِ هقذاس
x1 , x2 0 int
• اًتخبة یکی اص دٍ هتغیش ثشای ضبخِ صًی
– اگش 57.3=2 xاًتخبة ضَد 52.14=Z
• توبهی ًقبط ثب 2 xثیي 3 ٍ 4 ًبپزیشفتٌی ثشای 2 xاست 52.2=1X
57.3=2X
• حزف ایي داهٌِ، ّیچ هقذاس صحیحی اص 2 xسا اصثیي ًوی ثشد
شنبه، 91/50/2102 02 شنبه، 91/50/2102 91
3 پژوهش عملیاتی :: برنامهریزی پویا
- 4. 21/مه/91 دکتر سلیمی فرد ::
http://faculty.pgu.ac.ir/salimifard
الگَریتن ضبخِ ٍ کراى : هسئلِ دٍ هتغیرُ الگَریتن ضبخِ ٍ کراى : هسئلِ دٍ هتغیرُ
57.3 = 2X • تؼشیف دٍ هحذٍدیت خذیذ
14=ZLP 93=ZLP 3 ≤ 2x
)4,8.1( )3,3( 4 ≥ 2x2 ≥ 3+1 x
• تقسین هٌغقِ هَخِ ثِ دٍ قسوت )3=(L
• دٍ هسئلِ فشػی 1 P2 ٍ Pخَاّین داضت
2max Z 5 x1 8 x
2max Z 5 x1 8 x
6 x1 x2 6 x1 x2
54 5 x1 9 x2 54 5 x1 9 x2
3 x2 4 x2
x1 , x2 0 int x1 , x2 0 int
شنبه، 91/50/2102 22 شنبه، 91/50/2102 12
گبهْبی الگَریتن ضبخِ ٍ کراى الگَریتن ضبخِ ٍ کراى : هسئلِ دٍ هتغیرُ
93 ZL = -
1. حل هسئلِ ثذٍى تَخِ ثِ هحذٍدیت صحیح ثَدى هتغیشّب )(RLP 0P 52.14=Z
57.3=2x1=2.25, x
اگش پبسخ RLPػذد صحیح ثبضذ ایست کٌیذ، ٍ گشًِ ثِ گبم 2 ثشٍ. – 4 ≥ 2x 3 ≤ 2x
2. اگش تبثغ ّذف Maxثبضذ، تخصیص –ثِ ZL
3. ضبخِ صًی 1P 14=Z 2P 93=Z
4=2x1=1.8, x 3=2x1=3, x
اًتخبة یک هتغیش غیش صحیح ثشای ضبخِ صًی (دٍ هحذٍدیت خذیذ) –
||xj ≥ ||xj||+1 , xj ≤ ||xj
4. کشاى یبثی
حل هسئلِّبی فشػی گبم 3 –
تؼییي ثْتشیي هقذاس تبثغ ّذف دٍ هسئلِ فشػی ثِ ػٌَاى ZLخذیذ –
شنبه، 91/50/2102 42 شنبه، 91/50/2102 32
الگَریتن ضبخِ ٍ کراى : هسئلِ دٍ هتغیرُ گبهْبی الگَریتن ضبخِ ٍ کراى
93 ZL = -
0P 52.14=Z 5. طسفب یبثی )(fathomed
57.3=2x1=2.25, x
4 ≥ 2x 3 ≤ 2x – الف) ّوِ هتغیشّب صحیح ضًَذ (پبسخ ضذًی صحیح)
– ة) ًجَد پبسخ ضذًی ثشای هسئلِ فشػی ضبخِ
1P 14=Z 2P 93=Z – ح) هقذاس Zضبخِ ثذتش اص ZLثبضذ.
4=2x1=1.8, x 3=2x1=3, x 6. آصهَى ایست
2 ≥ 1x اگش ّوِ ضبخِّب ثِ طسفب ثشسٌذ، ایست کٌیذ –
1 ≤ 1 ًبصحیح
•پبسخ x پبیبى ضبخِ صًی اًتخبة هسئلِای کِ تبثغ ّذف آى ثب ثْتشیي ZLثشاثش است –
•ًشسیذى ثِ طسفب پبسخ ایي هسئلِ فشػی، پبسخ ثْیٌِ هسئلِ اصلی است –
•اداهِ الگَسیتن ٍ ضبخِ صًی ثش سٍی 1x دس غیش ایٌصَست ثِ گبم 3 ثشٍ –
شنبه، 91/50/2102 62 شنبه، 91/50/2102 52
4 پژوهش عملیاتی :: برنامهریزی پویا
- 5. 21/مه/91 دکتر سلیمی فرد ::
http://faculty.pgu.ac.ir/salimifard
الگَریتن ضبخِ ٍ کراى : هسئلِ دٍ هتغیرُ الگَریتن ضبخِ ٍ کراى : هسئلِ دٍ هتغیرُ
2max Z 5 x1 8 x
3P 4P 55.04=ZLP • دٍ هسئلِ فشػی خذیذ
نبود منطقه موجه )44.4,1(
6 x1 x2
54 5 x1 9 x2 3P •
2max Z 5 x1 8 x
4 x2
6 x1 x2
2 x1 • 4P
54 5 x1 9 x2
x1 , x2 0 int
4 x2
1 x1
x1 , x2 0 int
شنبه، 91/50/2102 82 شنبه، 91/50/2102 72
الگَریتن ضبخِ ٍ کراى : هسئلِ دٍ هتغیرُ الگَریتن ضبخِ ٍ کراى : هسئلِ دٍ هتغیرُ
93 ZL = -
0P 52.14=Z
57.3=2x1=2.25, x
• تفسیش ضبخِ صًی پیص
4 ≥ 2x 3 ≤ 2x
– سسیذى ثِ طسفب دس 3P
1P 14=Z 2P 93=Z – پبسخ 4 Pغیش صحیح، پس ZLتغییش ًویکٌذ
4=2x1=1.8, x
1 ≤ 1x
3=2x1=3, x – ضبخِ صًی ثش سٍی 2 xدس 4P
2 ≥ 1x
3P 4P 55.04=Z پبیبى ضبخِ صًی
ثذٍى هٌغقِ هَخِ 44.4=2x1=1, x
سسیذى ثِ طسفب
شنبه، 91/50/2102 03 شنبه، 91/50/2102 92
الگَریتن ضبخِ ٍ کراى : هسئلِ دٍ هتغیرُ الگَریتن ضبخِ ٍ کراى : هسئلِ دٍ هتغیرُ
2max Z 5 x1 8 x
5P 6P 73=ZLP 6 x1 x2 • دٍ هسئلِ فشػی خذیذ
04 =ZLP )4,1( 54 5 x1 9 x2 5P •
)5,0( 2max Z 5 x1 8 x
4 x2
6 x1 x2
1 x1
54 5 x1 9 x2 • 6P
5 x2
4 x2
x1 , x2 0 int
1 x1
4 x2
x1 , x2 0 int
شنبه، 91/50/2102 23 شنبه، 91/50/2102 13
5 پژوهش عملیاتی :: برنامهریزی پویا
- 6. 21/مه/91 دکتر سلیمی فرد ::
http://faculty.pgu.ac.ir/salimifard
الگَریتن ضبخِ ٍ کراى الگَریتن ضبخِ ٍ 93 = -هسئلِ دٍ هتغیرُ
Z
کراى :
L 04
0P 52.14=Z
• سٍش حل سیوپلکس 57.3=2x1=2.25, x
– ّش ضبخِ صًی ثِ هؼٌی یک هحذٍدیت خذیذ 4 ≥ 2x 3 ≤ 2x
– ثکبسگیشی سیوپلکس دس حل 0 ٍ Pهسئلِ ّبی فشػی
– ثسیبس صهبًجش 1P 14=Z 2P 93=Z
4=2x1=1.8, x 3=2x1=3, x
• سٍش حل تحلیل حسبسیت 1 ≤ 1x
2 ≥ 1x
– ثکبسگیشی سیوپلکس دس حل 0P
سسیذى ثِ طسفب
3P 4P 55.04=Z پبیبى ضبخِ صًی
– افضٍدى هحذیت اضبفی ثِ هذل ثذٍى هٌغقِ هَخِ 44.4=2x1=1, x
– ثکبسگیشی سٍش تحلیل حسبسیت ) (RSثشای حل هسئلِ فشػی 5 ≥ 2x 4 ≤ 2x
– کبّص ضگشف صهبى حل، ّوچٌبى صهبًجش دس هسبئل ٍاقؼی سسیذى ثِ طسفب 5P 04=Z 6P 73=Z
5=2x1=0, x 4=2x1=1, x
شنبه، 91/50/2102 53 شنبه، 91/50/2102 33
الگَریتن ضبخِ ٍ کراى
• سٍش تغییش هتغیش
– ّش هحذٍدیت ضبخِ صًی یک هحذٍدیت کشاى داس است
– ثب تغییش هتغیش ٍ ثذٍى ًیبص ثِ حل هسبئل فشػی خذیذ، ٍ ثب ثبثت هبًذى ضوبس
هحذٍدیتْب قبثل حل است
• ثشای هحذٍدیتْبیی ثِ ضکل xj ≤ ujدس خذٍل ًْبیی هسئلِ پیص ثِ
صَست صیش تغییش هتغیش هی دّین:
xj =uj –yj
• ثشای هحذٍدیتْبیی ثِ ضکل xj ≥ ljتغییش هتغیش دس خذٍل ًْبیی
هسئلِ پیص ثِ صَست صیش است:
xj = lj + yj
شنبه، 91/50/2102 73
الگَریتن ضبخِ ٍ کراى : رٍش تغییر هتغیر :
الگَریتن ضبخِ ٍ کراى : رٍش تغییر هتغیر
max Z 5 x 8 x
هثبل
1 2
6 x1 x2 • چگًَگی اًتخبة ضبخِ صًی
54 5 x1 9 x2 – قبػذُ ثْتشیي کشاى )(the best bound rule
x1 , x2 0 int • اًتخبة هسئلِای ثب ثْتشیي کشاى (ثْتشیي هقذاس تبثغ ّذف)
P0 : ZL = - • ضبیذ ضبًس ثیطتشی ثشای دستیبثی ثِ پبسخ ثْیي
BV 1x 2x 1s 2s RHS • ضبیذ کبّص ضوبس تکشاسّبی هَسد ًیبص
Z 0 0 4/5 ¾ 52.14 – قبػذُ خذیذتشیي کشاى )(the newest bound rule
1x 1 0 4/9 4/1- 52.2 • اًتخبة آخشیي هسئلِ فشػی
2x 0 1 4/5- ¼ 57.3 • ثِ ضشط ایٌکِ ثِ طسفب ًشسیذُ ثبضذ
شنبه، 91/50/2102 93 شنبه، 91/50/2102 83
6 پژوهش عملیاتی :: برنامهریزی پویا
- 7. 21/مه/91 دکتر سلیمی فرد ::
http://faculty.pgu.ac.ir/salimifard
الگَریتن ضبخِ ٍ کراى : رٍش تغییر هتغیر : B
V
1x الگَریتن ضبخِ ٍ کراى : رٍش تغییر هتغیر :
2x 1s 2s RHS
P Z =-
هثبل Z
1x
0
1
0
0
4/5
4/9
¾
4/1-
هثبل
52.14
52.2
0 L
57.3=2Z= 41.25 x1=2.25, x 2x 0 1 4/5- ¼ 57.3
• پبسخ ثْیٌِ ٍلی ًب هَخِ
2x2 ≥ 4 : x2 = 4 + y 2x2 ≤ 3 : x2 = 3 - y • ضبخِ صًی ثش سٍی 2x
4 ≥ 2x 3 ≤ 2x
B
V 1x 2y 1s 2s RHS B
V 1x 2y 1s 2s RHS • تغییش هتغیش
2.14
Z 0 0 4/5 ¾
5 Z 0 0 4/5 ¾ 52.14 2x2 = 4 + y2 x2 = 3 – y
1x 1 0 4/9
-
4/1
4/9 1x 1 0 4/1- 4/9 4/9 • اػوبل تغییش هتغیش دس خذٍل 0 ٍ Pحل دٍ هسئلِ فشػی ثب
2y 0 1
-
¼ 4/1- 2y 0 1 4/3- 4/1- 4/5
سیوپلکس دٍگبى (ثبًَیِ)
4/5
• اداهِ کبس تب دستیبثی ثِ پبسخ ثْیٌِ صحیح
شنبه، 91/50/2102 14 شنبه، 91/50/2102 04
الگَریتن ضبخِ ٍ کراى : رٍش تغییر هتغیر : الگَریتن ضبخِ ٍ کراى : رٍش تغییر هتغیر :
3P 1ً : Pشسیذى ثِ طسفب 2 : Pسسیذى ثِ طسفب
B
هثبل هثبل
V 1x 2y 1s 2s RHS 1P3: x1 ≥ 2 x1 = 2 + y ضبخِ صًی تغییش هقذاس Zثِ 93 L
B B
V 1x 2y 1s 2s RHS V 1x 2y 1s 2s RHS
Z 0 1 0 1 14
Z 0 1 0 1 14 Z 0 3 5 0 93
1x 1 5/9 0 5/1 5/9
1s 0 5/4- 1 5/1- 5/1 1x 1 5/9 0 5/1 5/9 1x 1 0 1 0 3
1s 0 5/4- 1 5/1- 5/1 2s 0 4- 5- 1 3
B
V 1y 2y 1s 2s RHS 0=2P1: Z=41, x1 = 9/5, y 0=2P2: Z=39, x1 = 3, y
Z 0 1 0 1 14
•ًجَد هتغیش ٍسٍدی 4=2x2 = 4 + y 3=2x2 = 3 - y
•ًجَد پبسخ هَخِ
1y 1 5/9 0 5/1 5/1- •دستیبثی ثِ طسفب 1P3: x1 ≥ 2 x1 = 2 + y 1P4: x1 ≤ 1 x1 = 1 - y
1s 0 5/4- 1 5/1- 5/1
شنبه، 91/50/2102 34 شنبه، 91/50/2102 24
54
الگَریتن ضبخِ ٍ کراى : رٍش تغییر هتغیر : الگَریتن ضبخِ ٍ کراى : رٍش تغییر هتغیر :
4P
P Z =-
هثبل B
هثبل
0 L V 1x 2y 1s 2s RHS 1P4: x1 ≤ 1 x1 = 1 - y
57.3=2Z= 41.25 x1=2.25, x
Z 0 1 0 1 14
4 ≥ 2x 3 ≤ 2x
1x 1 5/9 0 5/1 5/9
1P ZL= - 2P 14 =ZL 1s 0 5/4- 1 5/1- 5/1
4=2Z= 41 x1=9/5, x 3=2Z= 41 x1=3, x
B
V 1y 2y 1s 2s RHS
2 ≥ 1x 1 ≤ 1x Z 0 1 0 1 14 اداهِ حل بب ضوب
3P 14 =ZL 4P
ًجَد پبسخ ضذًی (هَخِ) ? 1y 1 5/9- 0 5/4- 5/1-
1s 0 5/4- 1 5/1- 5/1
شنبه، 91/50/2102 دكتر سليمي فرد :: پژوهش عملياتي 3:: برنامهریزی عدد صحيح شنبه، 91/50/2102 44
7 پژوهش عملیاتی :: برنامهریزی پویا
- 8. 19/21/مه :: دکتر سلیمی فرد
http://faculty.pgu.ac.ir/salimifard
.توریي : بب رٍش ضبخِ ٍ کراى حل کٌیذ چگًَگی عولکرد بْتر الگَریتن
1. سایبًِ سشیؼتش
Max {4x 1 2x 2 }
Max {4x 1 2x 2 5x 3 }
2. ثْیٌِیبثی سشیؼتش ثشًبهِسیضی خغی
s .to :
s .to : 3x 1 2x 3 45 کَچکتشZLP .3
x 1 4x 3 30 4x 1 5x 2 25 ثضسگتشZIP .4
3x 1 x 2 2x 3 45 3x 2 30
ِ5. ضبخِصًی ثْجَد یبفت
x1 , x 2,x 3 x 1, x 2
6. ثشًبهِ خغی کَچکتش
1 2
2012/05/19 ،شنبه 51 2012/05/19 ،شنبه
53 52
LINDO حل توریي بب LINDO حل توریي بب
NEW INTEGER SOLUTION OF 24.0000038 AT BRANCH 0 PIVOT 4 NEW INTEGER SOLUTION OF 97.0000000 AT BRANCH 0 PIVOT 4
BOUND ON OPTIMUM: 24.00000
ENUMERATION COMPLETE. BRANCHES= 0 PIVOTS= 4
2 BOUND ON OPTIMUM: 97.00000
ENUMERATION COMPLETE. BRANCHES= 0 PIVOTS= 4
1
LAST INTEGER SOLUTION IS THE BEST FOUND LAST INTEGER SOLUTION IS THE BEST FOUND
RE-INSTALLING BEST SOLUTION... RE-INSTALLING BEST SOLUTION...
OBJECTIVE FUNCTION VALUE OBJECTIVE FUNCTION VALUE
1) 24.00000 1) 97.00000
VARIABLE VALUE REDUCED COST VARIABLE VALUE REDUCED COST
X1 6.000000 -4.000000 MAX 4x1+2x2 X1 0.000000 -4.000000
X2 31.000000 -2.000000
X2 0.000000 -2.000000
SUBJECT TO X3 7.000000 -5.000000
MAX 4x1+2x2+5x3
3x1 +2x2<45 SUBJECT TO
ROW SLACK OR SURPLUS DUAL PRICES
2) 27.000000 0.000000 4x1 +5x2<25 ROW SLACK OR SURPLUS DUAL PRICES x1 + 4x3 <30
3) 1.000000 0.000000 2) 2.000000 0.000000
4) 30.000000 0.000000
3x2<30 3) 0.000000 0.000000 3x1+ x2+ 2x3 <45
END NO. ITERATIONS= 4
END
NO. ITERATIONS= 4
BRANCHES= 0 DETERM.= 1.000E 0 GIN 2 BRANCHES= 0 DETERM.= 1.000E 0 GIN 3
2012/05/19 ،شنبه 2012/05/19 ،شنبه
الگَریتن صفحِ برضی
1958 • هؼشفی ثِ ٍسیلِ گَهَسی دس
)• ثش پبیِ حل سیوپلکس (دٍگبى
• افضٍدى هحذٍدیت ثشش
ِ– ثشش ثخطی اص هٌغقِ هَخ
ُ– ًجَد حل صحیح دس هٌغقِ ثشش خَسد
– صحیح ضذى یک هتغیش ثب اًدبم ثشش
• ّیچ هقذاس ػذد صحیح ٍ هَخِ اص هٌغقِ ثشیذُ ًویضَد
• کبّص پی دس پی تبثغ ّذف ثب پبسخ صحیح ّش ثشش
2012/05/19 ،شنبه 55 54
8 پژوهش عملیاتی :: برنامهریزی پویا
- 9. 21/مه/91 دکتر سلیمی فرد ::
http://faculty.pgu.ac.ir/salimifard
65
الگَریتن صفحِ برضی هٌطق حل
متغیرهای پایه • دس پبسخ ثْیٌِ : LP
• حل یک ثشًبهِسیضی خغی آسَدُ ضذُ ) (RLPاص یک ILP
BV Z 1w … wj … wn 1v … vi … vm RHS
Z 1 1z1-c … 1z1-c 1… z1-c 0 … 0 … 0 0Y • ثشسسی ػذد صحیح ثَدى حل ثْیٌِ RLP
1v 0 11a … a1j … a1m 1 … 0 … 0 1b • اگش ًیست، تضویي هی ضَد کِ یک ًبهؼبدلِ خغی ٍخَد داسد کِ
: : : : : : : : : : : : : حل ثْیٌِ ILPسا اص پَستِ هحذة (هدوَػِ ضذًی) خذا هیکٌذ.
vi 0 1ai … aij … ain 0 … 1 … 0 bi )(separation problem – یبفتي چٌیي ًبهؼبدلِای، یک هسئلِ خذاسبصی
: : : : : : : : : : : : : است
vm 0 1am … amj … amn 0 … 0 … 1 bm – چٌیي ًبهؼبدلِای ثشش )ً (cutبهیذُ هیضَد
متغیرهای غیرپایه هؼبدلِ iام خذٍل: • افضٍدى ثشش ثِ RLPثشای خذاسبصی حل کًٌَی ًبصحیح
n
ai1w1+…+aijwj+…+ainwn+vi=bi aijw j v i bi • تکشاس فشایٌذ تب یبفتي حل ثْیٌِ ILP
1j 1
شنبه، 91/50/2102 دكتر سليمي فرد :: پژوهش عملياتي 3:: برنامهریزی عدد صحيح 75 شنبه، 91/50/2102 دكتر سليمي فرد :: پژوهش عملياتي 3:: برنامهریزی عدد صحيح
الگَریتن صفحِ برضی الگَریتن صفحِ برضی
• ّش ػذد bi ٍ aijحبصل خوغ دٍ ػذد صحیح ٍ کسشی است:
n • ثشای اًتخبة هحذٍدیت ثشش گَهَسی سغشی ثب ثضسگتشیي هقذاس
a w ij j v i bi
کسشی سوت ساست bi bi bi
bi bi bi , aij aij aij
1j • ثبصًَیسی سغش هٌجغ : سغش اًتخبثی ثشای ثشش گَهَسی
– تدضیِ bi ٍ aijثِ ثخصّبی صحیح ٍ کسشی • هثبل:
a
n
bi ||||bi bi
ij aij w j v i bi bi
ثخص کسشی ّوَاسُ
1j
4/1 5 5 4/1 = 5 - ¼ 5 ًبهٌفی
n 4/3 3- 4- 4/1 = )4-( - ¾ 3-
aij w j sg i bi
• تؼشیف ثشش گَهَسی
2- 2- 0 = )2-( – 2-
1 0 bi
1j – ّش ًقغِ ضذًی هسئلِ ILPسا ثشآٍسدُ هیکٌذ
5/3- 1- 5/2 = )1-( – 5/3-
– پبسخ ثْیي RLPکًٌَی سا ثشآٍسدُ ًویکٌذ !
شنبه، 91/50/2102 دكتر سليمي فرد :: پژوهش عملياتي 3:: برنامهریزی عدد صحيح 26 شنبه، 91/50/2102 دكتر سليمي فرد :: پژوهش عملياتي 3:: برنامهریزی عدد صحيح 85
الگَریتن صفحِ برضی : هثبل الگَریتن صفحِ برضی : گبهْب
• ثشای هسئلِ ٍ خذٍل ًْبیی صیش، هقذاس صحیح هتغیشّب سا تؼییي کٌیذ.
آغبص ثب یک هسئلِ PIP 1.
2 min Z x 1 2x تجذیل ضشایت ٍ هقذاس سوت ساست هحذٍدیتْب ثِ ػذد صحیح –
5 2x 1 x 2 ضشة کشدى هحذٍدیت دس کَچکتشیي هضشة هطتشک هخشج کسشّب –
حل ثب سٍش سیوپلکس دس حبلت RLP 2.
5 4x 1 4x 2
1 1 اگش پبسخ ثْیٌِ ػذد صحیح : ایست –
x 1 , x 2 0 int 2 2 1 4
اگش پبسخ ًبهَخِ : هسئلِ ثذٍى پبسخ –
دس غیشایٌصَست ثِ گبم 3 –
BV Z 1x 2x 1s 2s RHS n اًتخبة هتغیش پبیِ ثب هقذاس غیشصحیح ٍ تؼشیف هحذٍدیت ثشش 3.
سغشی ثب هقذاس اػطبس سوت ساست ًضدیکتش ثِ 0/5 aij w j sg i bi
–
Z 1 0 0 3/1 4/51 21/5 1j
افضٍدى هحذٍدیت ثشش ثِ خذٍل ًْبیی هسئلِ اصلی 4.
1x 0 1 0 3/1 ¼ 1 21/1- حل ثب سٍش سیوپلکس ثبًَیِ –
2x 0 0 1 3/1 ½ 2 6/1 منبع ثشٍ ثِ گبم 3 –
شنبه، 91/50/2102 دكتر سليمي فرد :: پژوهش عملياتي 3:: برنامهریزی عدد صحيح 46 شنبه، 91/50/2102 دكتر سليمي فرد :: پژوهش عملياتي 3:: برنامهریزی عدد صحيح 36
9 پژوهش عملیاتی :: برنامهریزی پویا
- 10. 21/مه/91 دکتر سلیمی فرد ::
http://faculty.pgu.ac.ir/salimifard
BV Z 1x 2x 1s 2s RHS
Z 1 0 0 3/1 21/5 4/51
الگَریتن صفحِ برضی : هثبل 1x
2x
0
0
1
0
0
1
3/1
3/1
الگَریتن صفحِ برضی : هثبل
21/1-
6/1
¼1
½2
BV Z 1x 2x 1s 2s 1sg RHS 1 1 1 • سغش هٌجغ
2 x 2 s1 s 2
Z 1 0 0 21/5 3/1 0 4/51 3 6 2
1x 0 1 0 21/1- 3/1 0 ¼1 • هحذٍدیت ثشش
2V 1W 2W
2x 0 0 1 3/1 6/1 0 ½2 – Vدس هحذٍدیت ثشش ٍخَد ًذاسد
1sg 0 0 0 6/1- 3/1- 1 2/1-
1 1 1
s1 s 2 sg 1
• خذٍل غیش هَخِ است 3 6 2
• ثکبسگیشی سیوپلکس ثبًَیِ
• افضٍدى هحذٍدیت ثشش ثِ خذٍل ًْبیی
شنبه، 91/50/2102 دكتر سليمي فرد :: پژوهش عملياتي 3:: برنامهریزی عدد صحيح 66 شنبه، 91/50/2102 دكتر سليمي فرد :: پژوهش عملياتي 3:: برنامهریزی عدد صحيح 56
الگَریتن صفحِ برضی : هثبل الگَریتن صفحِ برضی : هثبل
• افضٍدى ثشش دٍم ثِ خذٍل ًْبیی پیطیي • خذٍل پس اص ًخستیي ثشش
BV Z 1x 2x 1s 2s 1sg RHS
BV Z 1x 2x 1s 2s 1sg 2sg RHS
Z 1 0 0 0 4/1 1 4/31
Z 1 0 0 0 4/1 1 0 4/31
1x 0 1 0 0 4/1- 1 منبع ¾
1x 0 1 0 0 4/1- 1 0 ¾
2x 0 0 1 0 0 1 2
2x 0 0 1 0 0 1 0 2
1s 0 0 0 1 2/1 3- 2/3
1s 0 0 0 1 2/1 3- 0 2/3
1 3 • پبسخ ّوچٌبى ًبصحیح
2sg 0 0 0 0 4/3- 0 1 4/3- x 1 s 2 sg 1 – ثشش ثش سٍی 1x
• خذٍل ًبهَخِ 4 4
– هحذٍدیت ثشش
3 3
– ثکبسگیشی سیوپلکس ثبًَیِ • 1 xپبیِ، 1 sg1 ٍ sغیشپبیِ، پس هحذٍدیت ثشش: s 2 sg 2
4 4
شنبه، 91/50/2102 دكتر سليمي فرد :: پژوهش عملياتي 3:: برنامهریزی عدد صحيح 86 شنبه، 91/50/2102 دكتر سليمي فرد :: پژوهش عملياتي 3:: برنامهریزی عدد صحيح 76
الگَریتن برش : ًوبیص ترسیوی الگَریتن صفحِ برضی : هثبل
• خذٍل پس اص ثشش دٍم
2x
BV Z 1x 2x 1s 2s 1sg sg2 RHS
4/5 = 1x Z 1 0 0 0 0 1 3/1 3
تببع ّذف 2/5 = 2x 1x 0 1 0 0 0 1 3/1- 1
4/51 = Z 2x 0 0 1 0 0 1 0 2
1s 0 0 0 1 0 3- 3/2 1
2s 0 0 0 0 1 0 3/4- 1
1x
• خذٍل ثْیٌِ ٍ هَخِ صحیح
شنبه، 91/50/2102 دكتر سليمي فرد :: پژوهش عملياتي 3:: برنامهریزی عدد صحيح 17 شنبه، 91/50/2102 دكتر سليمي فرد :: پژوهش عملياتي 3:: برنامهریزی عدد صحيح 96
01 پژوهش عملیاتی :: برنامهریزی پویا