بهینه سازی به کمکEXCEL SOLVER
علیرضا امراللهی[email protected]
Excel Solver
Excel Solver ابزاری قدرتمند برای بهینه سازی است.
Solver قدرت حل اکثر مسایل بهینه سازی از جمله، برنامه ریزی خطی، برنامه ریزی غیرخطی،
برنامه ریزی عدد صحیح را دارد.این ابزار توسطFrontline Systems, Inc . ایجاد
شده است.www.solver.com
Excel Solver
Excel Solver از الگوریتمی به نام Generalized Reduced Gradient (GRG2)
برای بهینه سازی مسایل غیرخطی استفاده می کند. :این الگوریتم توسط افراد زیر توسعه یافته است
Leon Lasdon University of TexasAustin and Allan Waren Cleveland State
University برای حل مسایل برنامه ریزی خطی از الگوریتم
سیمپلکس استفاده می شود.
Solver (Excel 2003)نصب
Select the menu option Tools | Add_Ins. From the dialogue box presented check
the box for Solver Add-In. On clicking OK, you will then be able to
access the Solver option from the new menu option Tools | Solver (which appears below Tools | Scenarios ...)
Solver (Excel 2007)نصب
Excel Options | Add-Ins TabChose Excel Add-Ins from Mange
Section and Click Go buttonChose Solver Add-In from list and
Click OkYou can access Solver from Data menu
حل یک مساله برنامه ریزی خطی
Example(1):Wyndor Glass Co. problem (Hillier &
Lieberman)Max z = 3x1 + 2x2 (objective)subject to: x1 <= 4 (Plant One) 2*x2 <= 12 (Plant Two) 3*x1 + 2*x2 <= 18 (Plant Three) x1, x2 >= 0
نکات مهم
1. Target Equal to Min ی~ا Maxعالوه ب~ر اینک~ه می ت~وان ت~ابع ه~~دف را ب~ه ص~ورت
ت~نظیم ک~رد، ~می ~ت~وان ~آن ~را ب~ه گو~ن~ه ~ای~ تن~ظیم نم~ود ک~ه ن~زدیک ت~ر~ین~ م~قدار~ ب~ه ع~دد ~مور~د~ نظر~ م~ا~ ر~ا ~داشته ~باشد.
2. Intمی ت~وان تع~یین ک~رد ک~ه ی~ک ی~ا چن~د متغ~یر فق~ط اع~داد ص~حیح
باشند. م~ورد بحث ق~رار می گیرد.)2(برنام~ه ری~زی ع~دد ص~حیح در درس تحقی~ق در عملی~ات
3. Bin می ت~وان تع~یین ک~رد ک~ه ی~ک ی~ا چن~د متغ~یر فق~ط مق~ادیر ص~فر ی~ا
یک داشته باشند. م~ورد بحث ق~رار می گیرد.)2(برنام~ه ری~زی ص~فر و ی~ک در درس تحقی~ق در عملی~ات
Optionsگزینه
Max Timeنشان گر حداکثر زمانی است که جهت انجام محاسبات
در اختیار الگوریتم قرار داده می شود.Iterations
نشان گر حداکثر دفعاتی است که نرم افزار مجاز است برای رسیدن به پاسخ بهینه الگوریتم را تکرار کند.
Precisionنشان گر دقت الگوریتم در رسیدن به پاسخ نهایی
است، هرچقدر عددی که در اینجا وارد شود کوچکتر باشد، دقت الگوریتم باالتر خواهد بود.
Toleranceدر برنامه ریزی عدد صحیح کاربرد دارد. به این ترتیب
که »اعداد نزدیک به عدد صحیح« که در محدوده تلرانس معرفی شده قرار بگیرند را صحیح فرض کرده و به این ترتیب با سرعت باالتری به پاسخ
دست خواهد یافت.Convergence
مقداری بین صفر تا یک در این بخش نوشته می شود چه GRG2که نشان گر این است که در الگوریتم
زمانی نرم افزار باید برای یافتن پاسخی بهینه تر تالش کند.
Optionsگزینه
Assume Linear Model برای حل Simplexبا انتخاب این گزینه، نرم افزار از الگوریتم
مساله استفاده خواهد کرد و با سرعت بیشتری به پاسخ نهایی دست خواهد یافت.
Assume Non-negative با انتخاب این گزینه نرم افزار تمامی متغیرها را نامنفی فرض
خواهد کرد.Use Automatic Scaling :
در شرایطی که اختالف زیادی بین متغیرهای تصمیم و مقدار تابع هدف باشد، با مقیاس بندی مقادیر، به ما کمک می کند که سریع
تر به پاسخ برسیم.Show Iteration Results
تکرارهای الگوریتم تا رسیدن به پاسخ نهایی را به ما نمایش می دهد.
Optionsگزینه
:سه گزین~ه پ~ایینی یع~نی Estimates, Derivatives and Search
بر روش~ی ک~ه ن~رم اف~زار ب~رای رس~یدن ب~ه پاس~خ بهین~ه انتخ~اب تک~رار اس~تفاده می کن~د و روش~ی ک~ه ب~رای
بعدی استفاده می کند، تاثیر می گذارد. ری~زی خطی، ح~الت برنام~ه اک~ثر مس~ایل برای ح~ل
پیش فرض بهترین حالت خواهد بود.
Optionsگزینه
گزارش ها
Answers:مقدار اولیه و نهایی تابع هدف و هر یک از متغیرها را
نشان می دهد.همچنین میزان مقدار اولیه و نهایی هریک از
و فعال یا غیر فعال Slackمحدودیت ها و میزان بودن متغیرها را نمایش می دهد.
گزارش ها
Sensitivity Report:در ش~رایطی ک~ه گزین~ه ف~رض خطی ب~ودن م~دل فع~ال باش~د،
این گزارش ایجاد خواهد شد. در این گ~زارش مق~ادیر بهین~ه ه~ر متغ~یر ب~ه هم~راه ض~ریب ه~ر م~تغ~یر ~در ت~ابع~ ه~دف ~و م~یزا~نی ک~ه م~ق~دار~ این ض~ریب~ می تغی~یر ب~هین~ه ف~علی ن~قط~ه ت~ا یاب~د ا~ف~زای~ش ی~ا توان~د ک~اهش~ نکن~د، (در~ این ~ح~الت م~ی~زان ~ت~ابع ه~د~ف تغی~یر~ می ~کن~د ولی
ای~ن میزان همچ~نان بهینه~ است) ن~مایش~ داده~ می شود. در این گ~زارش همچ~نین ب~رای ه~ر مح~دودیت مق~دار قیمت
س~ایه (~م~یزان ~تغی~یر در~ ت~ابع ه~دف ب~ه~ ازا~ی ی~ک واح~د تغی~یر د~ر ~س~مت ~ر~اس~ت~ مح~د~ودیت) ~و~ مق~ادیر~ اف~زای~ش~ ی~ا ک~اهش~ مج~از ~در ~مق~ا~دیر س~م~ت ر~اس~ت~ ک~ه ج~واب~ فعلی ~را~ ~همچن~ان~
ب~هینه نگه می دارد~، نشان ~داده~ خواهد شد.
گزارش ها
Limits Report میزان ح~د ب~االیی و ح~د پ~ایینی ب~رای ه~ر متغ~یر را تحت ش~رایطی ک~ه مح~دودیت ه~ای مس~اله نقض نش~ود، ب~ا ک~ه ده~د می نش~ان همچ~نین ده~د. می نش~ان انتخ~اب این مق~ادیر ح~دی، مق~دار ت~ابع ه~دف چق~در
خواهد شد.
حل یک مساله برنامه ریزی خطی
Example(2):Max z = 50x1 + 30x2 + 25x3 + 30x4(objective)subject to: 2x1+2.5x2+3x3+1.8x4 <= 800
1.2x1+x2+2x3+0.8x4 <= 400 1.5x1+1.2x2+1.5x3+0.8x4 <= 380X2>=50X3>=30x1, x4 >= 0
مطالع%%ات ب%%رای پیش%%نهادهایی بعدی
1. GRG2 Algorithm2. Other Optimization and OR software:Lingo, Lindo, GAMZ, Winston, Winmat,
TORA, Storm, Win QSB, What’s best, CONOPT, CPLEX, GINO,…
3. Other Add-ins:Analyze it, Decision analysis, ORMM, OMIE,
Project manager,…4. Developing Add-ins:Engineering Economy, Business Intelligence,
…