PRESENTATION NAME Description 1
Download
Report
Transcript PRESENTATION NAME Description 1
PRESENTATION NAME
Description
1
به نام خدا
آشنایی با نرم افزارLINGO
استاد راهنما :جناب آقای نعمت الهی
تهیه و تنظیم :آیدا صفایی – منیره پاکدل
زمستان 91
2 -21
مقدمه
• LINGO
• Linear Interactive & General Optimizer
بسته های نرم افزاری لیندو و لینگو توسط شرکت لیندو سیستمز برای •
حل مسائل بهینه سازی در دانشگاه ،صنعت و تجارت ،طراحی گردیده
است.
لینگو ابزاری ساده برای بهره گیری از قدرت برنامه ریزی خطی و غیر خطی •
در فرموله کردن مسائل خیلی بزرگ به صورت مختصر و تجزیه و تحلیل
آنهاست.
3-21
قابلیتهای لینگو
قابلیت مدل سازی بصورت کارا و صحیح؛
قابلیت باالی تحلیل مدل؛
دارا بودن توابع مختلف ریاض ی ،آماری و احتمالی؛
قابلیت خواندن اطالعات از Fileها و Worksheetهای
دیگر(مثل )Excel؛
کار کردن در محیط .Windows
داشتن تنظیمات مختلفی از طریق Lingo Option
4 -21
مزایای لینگو
لینگو قادر به حل مسائل مختلف بهینه سازی از جمله:
برنامه های خطی،
کوآدراتیک،
خطی عدد صحیح،
کوآدراتیک عدد صحیح،
عدد صحیح خطی خالص،
عدد صحیح کوآدراتیک خالص،
غیر خطی،
غیر خطی عدد صحیح
غیر خطی عدد صحیح خالص می باشد.
5 -21
آشنایی با نوار ابزارها
کلید
کلید
کلید
کلید
کلید
کلید
کلید
Solve
Cut
Help
Topics
Find
Undo
New
Send To Back
Solution
Go
To Line
Redo
Help
Copy
Open
Close
All
Matrix
Picture
Match Parenthesis
Save
Tile
Windows
Paste
Options
Print
6 -21
برد
کاکا
بردبرد
بردرکارررکا
بردر
کار
برد
کاکاربرد
Helpی
باشد.باشد.
Lingo
منو
Solve
گزینه
بر
می..
باشد
Edit
منو
Undoاز
Cut
منوازی
باشد
New
گزینه
کلیدبر
کلید میان
منویی
باشد.
Fileمی
Findر
کلیکازب
جستجو و
کلید
گزینه
میانبربر
میان
کلید
میمیمی
Edit
ایاز
گزینه
میان
کلید
کلید میان بر گزینه Send To Backاز منوی Windowمی باشد.
منوی
باشد.
منو
Goیاز
Solution
گزینه
میان
کلیدکلید
Fileی
ی
میباشد.
Lingoمی
Edit
To
Line
گزینه
بر بر
میان
باشد.
می.می
باشد
Edit
ازییمی
Help
منو
Copyاز
Redo
گزینهاز
بر
میان
کلیدبربر
میان
کلید
Openمنواز
گزینه
کلیدکلیدمیان
باشد.می باشد.
Window
منو منو
Closeاز
گزینه All
میان بر
Matchازازمنوی
باشد.
MatrixParenthesis
گزینهگزینه Picture
میان بر
کلیدکلید
میباشد.
Lingoمی
Edit
بر
میان
باشد..
منومییباشد
Editمی
File
منو
از
Save
گزینه
بر
میان
منویمنوی
Windowمی باشد.
Tileیاز
Windows
گزینه
بر
میان
کلید
کلید کلید میان بر گزینه Pasteاز
کلید میان بر گزینه Optionsاز منوی Lingoمی باشد.
کلید میان بر گزینه Printاز منوی Fileمی باشد.
)Menus (LINGO Menu
مدل مربوط به پنجره فعال را برای حل ،به حل کننده لینگو می فرستد
Solve
جعبه محاوره ای ) ،(Dialog Boxگزینه هایی ازگزارش حل را بازمی کند ،کهه اماهان یعیهین نگهونای هاهرمهورد نظهرگهزارش حهل را فهراهم
می کنند
Solution
یههگ گهزارش حههد (تحلیههل حساس ه ت) ارائههه مههی کنههد .ایههگ گهزارش نمههان مههی دهههد کههه ی ییههران هرای مههی توانههد درنههه محههدوده ای باشههد ،بههدون
اینکه مقادیر بهینه عوش شوند
Range
اماان مماهده و ی ییرپارامترهای مختلفی را که درهناام استفاده ازلینگو درگیر هستند ،فراهم می کند
ویرایش دیگری از مدل را به صورن جبری ،تحت لیندو و یا ساختار MPSتولید می کند .ایگ فرمان می تواند برای شماره گذاری سطر ها و
نمایش مدل به صوریی که کاربربتواند راحت تربا آن کارکند ،مورد استفاده قرارمی گیرد .فرمان ،GENازپنجره فرمان نیز ،دارای
قابلیت ممابهی ازایگ نوع است
Options
Generate
مدل را بصورن ماتریس ی نمایش می دهد
Picture
خطاهای موجود درمدل را یافته و تو یح می دهد
Debug
اطالعایی راجع به مدل در اختیار قرار می دهد (مانند یعداد مت یرها ،یعداد سطرها و)...
تمام و یا قسمتی ازسطرهای انتخابی مدل را نمایش می دهد
7-21
Model Statistics
Look
کلیات برنامه نویس ی
در لینگو هر عبارت با یک ” ; “ پایان می یابد؛
هرگاه بخواهیم یک عبارت توضیحی به متن برنامه بیافزاییم
کافیست در ابتدای عبارت از عالمت تعجب ( ! ) استفاده کنیم .این
توضیحات نیز به ” ; “ ختم می شوند؛
کلیه عبارات متنی که مابین ( ! ) و ” ; “ نوشته می شوند از سوی
لینگو نادیده گرفته می شوند؛
لینگو به بزرگ یا کوچک بودن حروف حساس نیست؛
8-21
کلیات برنامه نویس ی (ادامه)
نوشتن تابع هدف :
تابع هدف بسته به اينکه به صورت حداکثرسازی يا حداقل سازی
باشد ،به شکل " … = "Maxيا " … = "Minنوشته می
شود.
9 -21
حالت ساده مدل نویس ی
در این حالت وارد کردن مدل شبیه تایپ کردن در یک محیط پردازشگر متنی تحت ویندوز
است؛ یعنی تقریبا باید آنچه را که به صورت دستی نوشته اید ،وارد نرم افزار کنید .کاربر می
تواند اطالعات ورودی خود را در پنجره ی داخلی که ابتدا تحت عنوان Lingo Model
است ،وارد کند
لینگو نیازمند تابع هدف ،یک یا چند متغیر (و محدودیت) است.
10-21
مسئله:1
شرکتی دو نوع محصول توليد ميکند.برای ساخت اين دو نوع محصول از
دونوع ماده اوليه Aو Bاستفاده ميکند.حداکثر ميزان در دسترس از اين
مواد به ترتيب 6و 8واحد است.اگر سود حاصل از فروش هرواحد از
محصوالت 1و 2بترتيب 3و 2باشد برای داشتن حداکثر سود چه بايد کرد؟
11-21
محصول
ماده
2
1
2
1
A
1
2
B
کاربا منوی LINGO
فرمان های Solutionو
Rangeپس از حل مدل فعال
خواهند شد.
فرمان Solutionرا پس از حل مدل
اجرا می کنیم ،پنجره ی مقابل باز
خواهد شد.
12-21
مسئله:2
محصولی از دو تکه تشکیل میشود.اطالعات زیر از این محصول در
دسترس است.
تکه2
تکه1
ظرفیت
دپارتمان
15
13
150
1
16
14
200
2
اگر هدف ساخت بیشترین محصول تولیدی باشدو بخواهیم کمترین
میزان قطعه بالاستفاده را داشته باشیم ،مسئله را حل نمایید.
13-21
مجموعه ها در لینگو
مجموعه ها در لینگو در واقع قالبی برای تعریف متغیرهای برنامه می باشند (این متغیرها می
توانند متغیر تصمیم گیری و یا پارامترهای عددی مدل باشند) .در لینگو دو نوع مجموعه
داریم :
مجموعه های مستقل؛ Primitive Sets
مجموعه های وارث ؛ Derived Sets
مجموعه های مستقل برای تعریف متغیرهای آرایه ای یک بعدی و مجموعه های وارث برای
تعریف آرایه های چند بعدی مورد استفاده قرار می گیرند.
14-21
مجموعه های مستقل:
ساختار کلی تعريف مجموعه های مستقل در لينگو به شکل زير می
باشد:
; نام متغيرها / :عناصر مجموعه /نام مجموعه
مثال:
;Factory / 1…3 / :setup_cost
;Costumer / c1,c2,c3,c4 / :demand
15-21
مجموعه های وارث:
در لینگو نمی توان بطور مستقیم ماتریس و آرایه های چند بعدی را تعریف
کرد .برای تعریف آنها از مجموعه های وارث استفاده میکنیم.
ساختار کلی نوشتن این مجموعه ها:
) /;)set1آرايه /اسم مجموعه مستقل
;Car / 1…3 /
;متغيرها ( : )set1,set2,…,setNاسم مجموعه وارث
;Demand (Car, City): Dem
16 -21
برای درک بهتر به مثال کلی زیر توجه کنید:
فرض کنید کارخانه ای 3نوع ماشین مختلف تولید میکند و مشتریان 5شهر
مختلف نیز سفارشهای متفاوتی از هر نوع ماشین به کارخانه می دهند.حال
زیربرنامه زیر را در نظر
بگیرید:
Sets:
;Car/1..3/
;City/1..5/
;Demand (Car, City): Dem
End sets
این زیربرنامه مجموعه ای مستقل از نوع carبه صورت آرایه تک بعدی 3خانه
ای و مجموعه ای مستقل از نوع cityبه صورت یک آرایه تک بعدی 5خانه
ای تولید میکند.
در خط چهارم این زیربرنامه ،مجموعه وارث demandبصورت یک ماتریس
5*3و ماتریس demازنوع demandتعریف میشود.
17 -21
بخش داده ها
بخش داده ها به ما این امکان را می دهد که داده ها را از بقیه مدل جدا
کنیم .این کار باعث می شود در هنگام تغییر و یا توسعه مدل راحت تر و کم
اشتباه تر عمل کنیم .در بخش داده که مابین دو کلمه کلیدی DATAو
ENDDATAاست می توانیم مقادیر پارامترها و اسم عناصر مجموعه هایی را
که در بخش قبلی تعریف شده اند مقداردهی کنیم.
18- 21
SETS:
SET1 / A, B, C/: X, Y;
ENDSETS
DATA:
X = 1, 2, 3;
Y = 4, 5, 6;
ENDDATA
19 -21
20-21
21