آشنایی با نرم افزار لینگو

24
ار ز ف رم ا ن ا یب ی ا ن ش ا و گ ن ی ل دا ام خ هب بLingo software و ل رب ع ی$ ق$ ت

Upload: fritz

Post on 24-Feb-2016

111 views

Category:

Documents


0 download

DESCRIPTION

به نام خدا. آشنایی با نرم افزار لینگو. Lingo software. تقی عرب لو. معرفی نرم افزار لینگو. مقدمه نرم افزارهای مشابه ویژگی های لینگو. مقدمه : - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: آشنایی با نرم افزار لینگو

نرم با آشناییلینگو افزار

خدا نام به

Lingo software

عرب تقیلو

Page 2: آشنایی با نرم افزار لینگو

لینگو افزار نرم معرفی

oمقدمهo مشابه افزارهای نرمo لینگو های ویژگی

Page 3: آشنایی با نرم افزار لینگو

oمقدمه :حل برای سیستمز لیندو شرکت توسط لینگو و لیندو افزاری نرم های بسته

. لینگو است گردیده طراحی تجارت، و صنعت دانشگاه، در سازی بهینه مسائلدر خطی غیر و خطی ریزی برنامه قدرت از گیری بهره برای ساده ابزاری

. آنهاست تحلیل و تجزیه و مختصر صورت به بزرگ خیلی مسائل کردن فرموله

Page 4: آشنایی با نرم افزار لینگو

o: مشابه افزارهای نرم

مدل از اعم عملیات در تحقیق سازی بهینه های مدل از بسیاری امروزهکامپیوتری های افزار نرم مدد به صحیح عدد یا و خطی غیر ، خطی های . نرم از توان می میان این در باشند می تحلیل و تجزیه قابل سادگی به

چون GAMSافزارهایی ، GINO ، LINDO ، LINGO ، QSB ، TORA نامبرد.

LINGO از می GAMSبعDد عملیات در تحقیق افزار نرم ترین قویهای. برتری جمله از به LINGOباشد قدرت GAMSیا LINDOنسبت ،

توسط که است مسائلی تمام سازی مدل در اند، LINDOآن شده مدلکه درحالی باشد، کاربر توسط مدل نوع تعیین به نیازی اینکه بدون

LINDO یاGAMS . قابلیت از دیگر یکی باشد نمی دارا را قابلیتی چنینمهم از LINGOهای می Helpبرخورداری کامل و ساده ، قوی بسیار ی

از. استفاده با که گونهای به این Helpباشد بر زیادی حد تا توان می آن . نسخه افزار نرم این نسخه آخرین شد مسلط افزار ولی 12نرم بوده

.11نسخه است تر رایج آن

Page 5: آشنایی با نرم افزار لینگو

o: بارز های ویژگی

صحیح؛ 1( و کارا بصورت سازی مدل قابلیتمدل؛ 2( تحلیل باالی قابلیتاحتمالی؛ 3( و آماری ، ریاضی مختلف توابع بودن دارااز 4( اطالعات خواندن و Fileقابلیت دیگر؛ Worksheetها هایمحیط 5( در کردن .Windowsکارجمله :6( از سازی بهینه مختلف مسائل حل به قادر همچنین و

، صحیح عدد کوآدراتیک ، صحیح عDدد خطی ، کوآدراتیک ، خطی های برنامهغیر ، خطی غیر ، خالص کوآدراتیک صحیح عدد ، خالص خطی صحیح عدد

. خالص صحیح عDدد خطی غیر ، صحیح عدد خطی

Page 6: آشنایی با نرم افزار لینگو

لینگو : در اولیه اصولرا مسائل توان می است، لیندو مشابه بسیار که لینگو در مسائل حل برای

از ) ( استفاده با یا و کاربر با طرفه دو ارتباط کلید صفحه طریق از روش دو بهدستورات ) شامل خود یا فایلها این که اند شده تولید دیگر جای در که فایلهایی

و سفارشی کدهای دارای ، جامع برنامه یک از بخشی عنوان به یا و هستند . روش ( به اینجا در کرد کامپیوتر وارد ، هستند لینگو سازی بهینه های کتابخانه

. شویم می متمرکز کاربر با طرفه دو ارتباط یعنی اول،یک در کردن تایپ شبیه ، لینگو ویندوز تحت نسخه در مدل یک کردن واردتایپ داده مدل یک در وقتی چون ؛ است ویندوز تحت متنی پردازشگر محیط

. کنید مدل وارد اید، نوشته دستی صورت به که را آنچه باید تقریبا کنید، میعنوان تحت ابتدا که داخلی ی پنجره در را خود ورودی اطالعات تواند می کاربر

Lingo Model . ویرایش ابتدایی دستورات شامل لینگو همچنین، کDند وارد است، . ویژگی سایر و ها ابزار این است متن یک چسباندن و کردن کپی ، بریدن برای

. گیرد می قرار بررسی مورد ادامه در که است موجود فرمانها منوی در ها، . بر که است محدودیت چند یا یک و متغیر چند یا یک ، هدف تابع نیازمند لینگو

قبیل از خاص عبارات از بعDد لینگو های محدودیت لیندو، یا Subject toخالفSuch that. آید نمی

Page 7: آشنایی با نرم افزار لینگو

یک با عبارت هر لینگو میابد؛“ ; “ در پایان در کافیست بیافزاییم برنامه متن به توضیحی عبارت یک بخواهیم گاه هر

; “ . ) ! ( به نیز توضیحات این کنیم استفاده تعDجب عالمت از عبارت ابتدای “ ; “ ) ! ( . شوند“ می نوشته و مابین که متنی عبارات کDلیه شوند می ختم

شوند؛ می گرفته نادیده لینگو سوی از ؛ نیست حساس حروف بودن کوچک یا بزرگ به لینگو به باشد، سازی حداقل یا سازی حداکثر صورت به اینکه به بسته هدف تابع

.Min“یا =…”Max“شکل شود=…” می نوشته دستور از باید مدل، هر نوشتن آغاز . :” Model“در کلیه سپس کرد استفاده

و هدف تابع ها، داده ورود ها، مجموعه تعریف شامل مدل ارکاندستور با مدل و شد خواهد نوشته ها، . ” End“محدودیت میرسد پایان به

دستور .” End“و :” Model“دو ندارند “ ; “ به نیازی

Page 8: آشنایی با نرم افزار لینگو

در را آن خط یک یا و بیاوریم خط یک در را لینگو برنامه خط دو توانیم می: بیاوریم سطر دو

Max=100*standard

+150*turbo;یاStandard<=100;turbo<=120;

: بیاوریم ها محدودیت وسط در را توضیحات توانبم می حتیX=Y+!Number of products;Q+2*C;

است (X=Y+Q+2*Cمعادل)

Page 9: آشنایی با نرم افزار لینگو

( ضرب عملگر مخصوصا نشود؛ فراموش حتما ریاضی “ * عملگرهای) “

2x+3y<=25) اشتباه )2*x+3*y<=25) درست ) . توان می آن از بعد شوند می شروع حرف یک با حتما متغیرها اسامی

. بیشتر ) _ ( تواند نمی متغیرها اسم کرد استفاده زیرخط یا رقم ، حرف.32از باشد کاراکتر

. است “ “ ممنوع ها متغیر اسم در فاصله از استفاده محدودیت ابتدای در دهیم اختصاص اسمی محدودیت به بخواهیم اگر

می مقابل صورت به و آوریم می کDروشه عالمت داخل در را آن اسم] محدودیت: ] اسم نویسیم

Page 10: آشنایی با نرم افزار لینگو

Help افزار نرم از بهتر استفاده برای خوب بسیار راهنمای یک لینگواست.

پیغام افزار نرم باشد، داشته وجود آن در ایرادی اگر مدل حل هنگاماز خطا این لینگو نظر به کDه رود می سطری اول به نما مکان و داده خطا

. است شده ناشی آنجااید نوشته که مدلی کنید می فکر آنکه وجود با مواقع بعضی در است ممکن

یک . مواقع این در بدهد خطا پیغام آن حل هنگام افزار نرم است؛ درستعبارت و دستورات و کرده باز لینگو جدید صفحه یک که است آن ساده راههربار و کDرده کپی جدید صفحه به ، یکی یکی را اید نوشته مدل در که هایی

. به توانید می راحتی به موارد اکثر در کار این با کDنید اجرا را جدید مدل. ببرید پی برنامه اشکال

Page 11: آشنایی با نرم افزار لینگو

New :کند می ایجاد ها داده کردن وارد برای جدید پنجرهOpen :های جعبه در کند، می باز را موجود پرونده

ای ) از ( dialog boxمحاوره را پرونده توانید میمختلف مکانهای از و ها پرونده مختلف انواع میان

. کنید انتخاب

Save . می: کند می ذخیره را فعال پنجره ) پنجره ) یک ، مدل یک ورودی های داده توانید

. کنید ذخیره را فرمان پنجره یک یا گزارشPrint :فرستد می چاپگر به را فعال پنجره

Cut :می نگه حافظه در کرده، را انتخابی متندهد قرار را آن دیگری جای تا دارد

Copy :تا کند می کDپی حافظه در را انتخابی متنشود داده قرار دیگری جای در

Paste( :حافظه جای( clipboardمحتوای در رادهد می قرار انتخابی Undo :می باز را شده انجام کار آخرین

گرداند. Redo :ملیاتDع .Undoبرعکس دهد می انجام را Find :در متنی رشته از قسمتی جستجویفعال پنجره

Go to line :دادن صفحه ) CursorحرکDت نشانگر. فعDال( پنجره از دلخواه خط شماره به کلید

Match Parenthesis :با که را بسته پرانتزهایهستند، متناظر شده، انتخاب باز پرانتزهای

کDند می پیدا

Solve :به حل برای را فعال پنجره به مربوط مدل. فرستد می لینگو کننده باز: Solutionحل را حل گزارش از هایی گزینه

مورد ظاهر چگونگی تعیین امکان که کند، می. کنند می فراهم را حل گزارش نظر

Matrix Picture :ماتریسی صورت به را مدل. دهد می نمایش Option :پارامترهای تغییر و مشاهده امکان

درگیر لینگو از استفاده هنگام در که را مختلفی. کند می فراهم هستند،

Send to back :می پشت به را رویی پنجرهفرستد

Close All :بندد می را باز های پنجره تمامی Tile Windows :ای گونه به را باز های پنجره تمامیپنجره در را مساوی فضای همگی که کند می مرتب

کنند اشغال برنامهHelp Topics :موضوعی،امکان راهنمای

. دارد وجود نیز جستجوHelp

Page 12: آشنایی با نرم افزار لینگو

مثال . هر تولید است صندلی و میز تحریر، میز کننده تولید فرنیچر، داکوتا شرکتو نجاری زمینه دو در ماهر کار نیروی نوع دو و الوار به مبلمان انواع از کدام

. زمینه دو در ماهر کار نیروی نوع دو و الوار به مبلمان انواع دارد نیاز پرداخت . یک هر تولید برای نیاز مورد منابع از یک هر مقدار دارد نیاز پرداخت و نجاری

است : آمده ذیل جدول در مبلمان انواع ازمنبع تحریر میز میز صندلی

) تخته) فوت الوار 8 6 1زمان

) ساعت) پرداخت4 2 1.5

زمان ) ساعت) تجاری

2 1.5 0.5

حاضر، حال الوارها، 48در از تخته و 20فوت پرداخت زمان ساعت 8ساعت . تحریر میز هر است موجود نجاری میز 60زمان صندلی 30دالر، و دالر 20دالر

. شده دیده تدارک تازگی به دسترس در منابع اینکه فرض با رسد می فروش به. برساند حداکثر به را خود سود کل خواهد می داکوتا شرکت باشند،

Page 13: آشنایی با نرم افزار لینگو

متغیر های تصمیم بصورت ذیل تعریف شده اند :Deskتعداد میز تحریرهای تولید شده : Tableتعداد میزهای تولید شده : Chairتعداد صندلی های تولید شده :

شرکت داکوتا به حل مدل خطی زیر نیاز دارد:Max z = 60 Desk + 30 Table + 20 Chairs.t 8 Desk + 6 Table + Chair <= 48 (محدیدیت الوار)

4 Desk + 2 Table + 1.5 Chair <= 20 ( محدودیت(پرداخت

2 Desk + 1.5 Table + 0.5 Chair <= 8 ( محدودیت(نجاری

Table <= 5 (محدودیت تقاضای میز)

Desk, Table, Chair >= 0

Page 14: آشنایی با نرم افزار لینگو

پنجره در زیر صورت به را باال :Lingo modelمدل کنیم می وارد

Model:Max=60*Desk+30*Table+20*Chair;

[Lumber]8* +6* + <=48D esk Table Chair;[Polish]4* +2* +1.5 <=20D esk Table Chair;

[Commercial]2* +1.5* +0.5* <=8D esk Table Chair;[Request]<=5Table;

End

: برنامه در باال مدل تصویر

Page 15: آشنایی با نرم افزار لینگو

: باشد می زیر صورت به لینگو برنامه در فوق مساله جواب

Page 16: آشنایی با نرم افزار لینگو

: آمده بدست جواب تحلیل

Objective value: 280.0000 است.280مشخص می کند که مقدار بهینه تابع هدف

Value .مقدار متغیر در جواب بهینه مدل خطی را می دهد 8 میز تحریر، صفر میز، و 2بنابراین جواب بهینه داکوتا تولید

صندلی است.

Reduced Cost ضریب متغیر در سطر صفر جدول بهینه را می دهد )مسئله ماکزیمم سازی(.

همانگونه که می دانید باید هزینه کاهش یافته هر متغیر پایه برابر ، هزینه کاهش یافته xjصفر باشد. برای یک متغیر غیر پایه

واحد اضافه شود، به آن اندازه، xj ، 1مقداری است که اگر جواب بهینه کاهش می یابد )درحالی که بقیه متغیرهای غیر

پایه برابر صفر بمانند(. در خروجی لینگو برای مسئله داکوتا، هزینه کاهش یافته میز

است. این یعنی اگر داکوتا بخواهد یک میز تولید کند، 5برابر دالر کاهش خواهد یافت.5درآمد به اندازه

Page 17: آشنایی با نرم افزار لینگو

یDا از خروجDی بعدی را Reportدر قسDمت محدودیDت ها Slack orمشاهده مDی کنیDد کDه در مقابDل آن دو عبارت

Surplus و Dual Price: مشاهده می شود

Slack or Surplus در )مازاد( اضافی یDا کمبود مقدار فوت تخته 24جواب بهینDه را نشان مDی دهد. بنابرایDن

و خواهد 5الوار وجود مازاد صDورت بDه میDز عدد داشت.

Dual Price ر سمتDه اگDت کDایه مقداری اسDت سDا قیمDی راسDت محدودیDت، یDک واحDد اضافDه شود، بDه آن اندازه این اینکDه فرض بDا ( یابDد مDی بهبود بهینDه، جواب بهینDه فعلDی نمی پایDه از دسDت رفتDن باعDث تغییرات راست طرف در تغییDر یDک از بعDد اگDر .) شونDد های قیمت نمانDد، بهینDه دیگDر فعلDی پایDه محدودیDت،

سایه محدودیت ها ممکن است تغییر کند.

Page 18: آشنایی با نرم افزار لینگو

: حساسیت تحلیل موجود در منوی Range با استفاده از گزینه Solveپس از حل مدل توسط

LINGO گزارش خروجی تحلیل حساسیت مدل را مشاهده می کنیم، در از Dual Computations شده و گزینه LINGO Optionصورت مشاهده خطا وارد

را در حالت سوم قرار دهید.در این مثال تحلیل General Solverقسمت حساسیت به این گونه است:

Page 19: آشنایی با نرم افزار لینگو

افزایش تواننDد مDی میزان چDه تDا تابDع ضرایDب کDه دهDد مDی نشان حسDاسیت تحلیDل ) صفر ) غیDر متغDیرهای مجموعDه مسDئله بهینDه پایDه اینکDه بدون یابنDد کاهDش یDا

. شود تابع عوض بDه مربوط یکDی اسDت، بخDش دو شامDل حسDاسیت تحلیDلمقدار تفکیک بDه کدام هDر در کDه هDا، محدودیDت بDه مربوط دیگری و هدف

. است شده قید افزایش و کاهش مقادیر و واقعی

گزینDه از اسDتفاده بDا پایان منوی Solutionدر نمایش LINGOدر توانیDد مDی. باشید داشته را مدل در موجود متغیرهای از یک هر از گرافیکی

:Bar Graphمثال صندلی برای

Page 20: آشنایی با نرم افزار لینگو

:2مثال

Max z=7x1+14x2+20x3s.t:

x1<=25 x1+x2<=130

x1+x2+3x3<=50 7x1+14x2<=45

X1,x2,x3>=0

(s1یا 1محدودیت) (s2یا 2محدودیت) (s3یا 3محدودیت) (s4یا 4محدودیت)

: برنامه در مدل تصویر

Page 21: آشنایی با نرم افزار لینگو

: فوق مدل بهینه سیمپلکس جدول  s4 s3 s2 s1 x3 x2 x1  

356.9 0.523 6.667 0 0 0 0 3.333 z

25 0 0 0 1 0 0 1 s1

126.7 -0.07 0 1 0 0 0 0.5 s2

15.59 -0.02 0.333 0 0 1 0 0.167 x3

3.21 0.07 0 0 0 0 1 0.5 x2

: لینگو برنامه در مدل جواب

Page 22: آشنایی با نرم افزار لینگو

: سازی حداقل برای دیگر مثالی

Min C=3x1+4x2s.t:

x1+2x2>=14 2x1+3x2>=12

X1,x2>=0

(1محدودیت) (2محدودیت)

: لینگو در مدل

Page 23: آشنایی با نرم افزار لینگو

: بهینه سیمپلکس جدول صورت به جواب

  s2 s1 x2 x1  

-28 0 2 0 1 c-

7 0 -0.5 1 0.5 x2

9 1 -1.5 0 -0.5 s2

: لینگو برنامه در جواب

Page 24: آشنایی با نرم افزار لینگو

: فوق مثال حساسیت تحلیل