مهندسی صنایع - یادداشتهای مهدی عباسی

سه شنبه ۱۲ آبان ۱۳۸۸

آموزش نرم افزار Lingo 10.0 بهمراه مروری بر مدل برنامه ریزی خطی

ارسال شده توسط : admin در دسته : نرم افزارهای مهندسی صنایع

نویسنده : مانوئل ا.

مقدمه

در برنامه ریزی خطی می توان مسائل مختلف از قبیل ترکیب تولید ، سرمایه گذاری ، بازار یابی ، حمل و نقل ، فرمولاسیون محصول ، زمان بندی چند دوره ای و … را مدل سازی کرده با استفاده از نرم افزارهای مربوطه به حل آن بپردازیم.
دراین مقاله ضمن آموزش نرم افزار لینگو در قالب فلش، به حل نمونه ای از مسئله برنامه ریزی خطی پرداخته میشود.

فرم عمومی برنامه ریزی خطی
۱-
تابع هدف Objective Function
سیاست و هدف از طرح مسئله است که در اغلب مسائل به صورت ماکسیمم (حداکثر سود ، بازدهی و …) و در برخی موارد (مانند حداقل هزینه ) این تابع مینیمم در نظر گرفته می شود.

۲- متغیر های تصمیم Decision Variable
متغیر هایی هستند که تاثیر مستقیم بر تابع هدف دارند و محدودیتها بر اساس آنها لحاظ می گردد. انتخاب متغیرهای تصمیم برای حل مدل برنامه ریزی خطی بسیار حائز اهمیت می باشد.
متغیر های تصمیم غالبا به صورت غیر منفی در نظر گرفته می شوند و در برخی موارد نیز می توانند آزاد در علامت ( غیر مثبت ) باشند.

۳- محدودیت ها Constraints
شامل محدودیتها و سیاست های مختلفی است که جهت تحقق تابع هدف با استفاده از متغیر های تصمیم درنظر گرفته می شود .


تعاریف مختلف

- جواب :
کلیه مقادیری که متغیرهای تصمیم اختیار میکنند به تنهایی یک جواب محسوب می شوند.

- جواب موجه :
جوابی است که در تمام محدودیت ها صدق می کند.

- منطقه موجه :
ناحیه ای از جواب های موجه است که در همه محدودیت ها صادق است.

- جواب غیر موجه :
کلیه مقادیری که خارج از منطقه موجه قرار دارند.

- جواب بهینه :
جوابی است که به ازای آن مقدار تابع هدف مطلوب ترین و بهینه ترین وضعیت خود را داراست. ( برای تابع هدف ماکسیمم ، جواب هایی که تابع را حد اکثر و برای مینیمم ، حداقل کنند )
به عبارتی دیگر هر یک از جواب های بهینه مشخص می کند که از هر متغیر تصمیم چه تعداد (مقدار ) تخصیص یابد تا تابع هدف ماکسیمم یا مینیمم شود .

جواب های بهینه اصلی ترین هدف تشکیل مدل برنامه ریزی خطی است .

قابل ذکر است نرم افزار لینگو ( که فایل آموزش آن در این مقاله ضمیمه شده است ) ، جواب های بهینه را در اختیار ما قرار میدهد.

- جواب های بهینه مدل برنامه ریزی خطی ، ممکن است انواع مختلفی داشته باشند که به شرح ذیل بیان می گردد….

الف : جواب بهینه چند گانه داشته باشد:
ممکن است بیش از یک جواب موجه مقدار تابع هدف را مطلوب ترین نماید که در این صورت همه ی آنها جواب بهینه خواهند بود .

ب : فاقد جواب بهینه باشد :
در این حالت مدل جواب بهینه ندارد و این در واقعیت امکان پذیر نیست ، در چنین صورتی باید مجددا مسئله را فرموله و حل نماییم .

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

۴ - متغیر های کمکی

از آنجا که مدودیت ها در مدل باید بصورت تساوی باشند ، لذا برای استاندارد کردن آنها از متغیر های کمکی استفاده می شود که بر دو نوع است :

Slack Variable 1-4 متغیرهای لنگی
برای استاندارد کردن محدودیت هایی که به صورت کوچکتر یا مساویند استفاده می شود . متغیر های لنگی همواره بزرگتر از صفرند.

Artificial Variable 2-4 متغیرهای مصنوعی
برای استاندارد سازی محدودیت های تساوی ( به محدودیت افزوده میشوند ) و محدودیت های بزگتر مساوی ( یک لنگی اضاف و یک مصنوعی از محدودیت کاسته) ،استفاده می شوند .

گفتنی است متغیر های کمکی فقط در محاسبات دستی کاربرد دارند و محاسبات نرم اقاری خود به خود لحاظ می شود .

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

حل یک مسئله نمونه با استفاده از نرم افزار لینگو :

صورت مسئله :
شرکتی مونتاژ محصول را که شامل قاب – میله فلزی و بلبرینگ است ، برعهده دارد . شرکت میله ی فلزی و قاب را تولید می کند و بلبرینگ را از تولید کننده دیگری خریداری می کند ، هر میله ی فلزی باید مراحل ماشین سندان ، ماشین تراش و ماشین تبزکن را بگذراند ، این مراحل به ترتیب ۱/۲ ساعت ، ۰/۲ ساعت و ۰/۳ ساعت برای هر میله ی فلزی وقت می گیرد . هر قاب نیز ۰/۸ ساعت در ماشین سندان ، ۰/۱ ساعت در ماشین سوراخ کننده ، ۰/۳ ساعت در آسیاب و ۰/۵ ساعت در ماشین تبزکن ، وقت می گیرد .
شرکت ۵ ماشین تراش ، ۱۰ ماشین تیزکن ، ۲۰ ماشین سندان و ۳ ماشین سوراخکن و ۶ آسیاب دارد ، برآورد شده است هر ماشین ماکزیمم ۲۴۰۰ ساعت در هر سال کار می کند .
مسئله را برای ماکزیمم تعداد مولفه های محصول تولید به مونتاژ حل می کنیم

حل مسئله :

گام اول : انتخاب متغیر های تصمیم
A :
تعداد میله فلزی که در یک سال باید تولید شود
B :
تعداد قاب که در یک سال باید تولید شود د

گام دوم : محاسبات لازم
ماکزیمم ساعت کار ۲۰ ماشین سندان در یکسال ۴۸۰۰۰= ۲۰ * ۲۴۰۰
ماکزیمم ساعت کار ۵ ماشین تراش در یکسال ۱۲۰۰۰= ۵ * ۲۴۰۰
ماکزیمم ساعت کار ۱۰ ماشین تیز کن در یکسال ۲۴۰۰۰= ۱۰ * ۲۴۰۰
ماکزیمم ساعت کار ۳ ماشین تراش در یکسال ۱۲۰۰۰= ۳ * ۲۴۰۰
ماکزیمم ساعت کار ۶ ماشین آسیاب در یکسال ۱۴۴۰۰= ۶ * ۲۴۰۰

گام سوم : تشکیل تابع هدف

Max = A + B

گام چهارم : اعمال محدودیت ها

۰/۵*A+0.8*B<=48000
0.2*A<=12000
0.3*A+0.5*B<=24000
0.1*B<=7200
0.3*B<=14400
A>=0 , B>=0


گام چهار : شروع کار با نرم افزار

مدل تایپ شده زیر را عینا در نرم افزار تایپ می کنیم .

Max = A + B ;
0.5*A+0.8*B<=48000;
0.2*A<=12000;
0.3*A+0.5*B<=24000;
0.1*B<=7200;
0.3*B<=14400;
A>=0;
B>=0


می توانید فایل آموزش Lingo 10.0 را از لینک های زیر دانلود نمایید
(
فایل های آموزشی فوق توسط اینجانب به صورت کاملا مالتی مدیا در قالب فلش تهیه گردیده است .)

درس اول : آشنایی با نوار ابزار و گزینه های مهم در لینگو
فرمت فایل دانلودی : Zip ، بعد از دانلود آنرا از حالت فشرده در بیاورید .
سایز فایل دانلودی: ۱/۷۲ MB

دانلود درس اول ( رمز فایل : inen.bdl.ir )

درس دوم : اصول وارد کردن اطلاعات و مدل مورد نظر
فرمت فایل دانلودی : Zip ، بعد از دانلود آنرا از حالت فشرده در بیاورید .
سایز فایل دانلودی: ۱/۴۸ MB

دانلود درس دوم ( رمز فایل : inen.bdl.ir )

درس سوم : اعمال تنظیمات روی مدل و دریافت جواب های بهینه
فرمت فایل دانلودی : Zip ، بعد از دانلود آنرا از حالت فشرده در بیاورید .
سایز فایل دانلودی: ۱/۶۵ MB

دانلود درس سوم ( رمز فایل : inen.bdl.ir )

منبع : مرجع مهندسی صنایع

۲ پاسخ برای "آموزش نرم افزار Lingo 10.0 بهمراه مروری بر مدل برنامه ریزی خطی"

1 | John

چهارشنبه ۱۳ آبان ۱۳۸۸ در ساعت ۹:۰۷ ق.ظ

Avatar

I added your blog to bookmarks. And i’ll read your articles more often!

2 | ق ق

پنجشنبه ۵ آذر ۱۳۸۸ در ساعت ۲:۴۱ ق.ظ

Avatar

خودت را از کسی پس نگیر ، شاید این تنها چیزیست که او دارد.

فرم ارسال دیدگاه


  • milan: گر روزی دشمن پیدا کردی، بدان در رسیدن به هدفت موفق بودی! اگر روزی تهدیدت کردند، بدا
  • ق ق: خودت را از کسی پس نگیر ، شاید این تنها چیزیست که او دارد.
  • ali: سلام من میخواستم یک مثال از scamper برایم بزنید مثلا مثل چراغ قوه موضوع اجز

در باره اینجا :

این سایت که به نوعی یک روز نوشت (در واقع گهگاه نوشت) است به مسائلی همچون وردپرس و پوسته های ورپرس و افزونه های وردپرس و مکانیک و مسائل مربوط به پرواز و مکانیک پرواز می پردازد .
این سایت به هیچ عنوان سیاسی نیست و تابع قوانین جمهوری اسلامی ایران است .