HosseinYazdani.ir
HosseinYazdani.ir
خواندن ۹ دقیقه·۴ سال پیش

آشنایی با حضرت GAMS ، عروس بهینه سازی


سلام سلام سلام


سلام به مهندس های نمونه

امیدوارم حال همگی عالی باشه و سلامت باشید

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

شاید عده ای حسود ظاهربین بگویند که کجای این عروس ترشیده زیباست

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

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


تاریخچه

از حدود دهه 1950 که علم کم کم سرعت پیشرفت بالایی پیدا کرد ، دانشمند ها به فکر ساخت و استفاده از الگوریتم های کاربردی افتادند که بتوانند از آن ها برای حل مدل ها و مسئله های سخت ، پیچیده و بزرگ ریاضی کمک بگیرند .

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

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


فلسفه نام GAMS


همانطور که مطلع هستید ، عروس ما زیبایی خاصی دارند که به اسم ایشان هم سرایت کرده است ؛ GAMS در واقع خلاصه عبارت General Algebraic Modeling System است که در واقع یک سیستم مدل سازی سطح بالا برای برنامه نویسی و بهینه سازی ریاضی در بین نرم افزار های مهندسی می باشد

اما برای ازدواج شناخت بیشتری لازم داریم همینطور ندیده و نشناخته که نمی شود پس بهتر است تا بیشتر با این عروس زیبا آشنا شویم


زبانِ GAMS

زبانی که برای حضرت دلربای GAMS آشناست مشابه زبانِ دیگر حضرات برنامه نویسیِ رایج است و به همین دلیل برای کسانی که تجربه برنامه نویسی دارند هم صحبت شیرین سخنی است اما کسانی که مثل من زیاد با غریبه ها هم صحبت نمی شوند لازم است با چند جلسه آموزش و تمرین آداب معاشرت با این عروس زیبا را یاد بگیرند تا هنگام صحبت درباره مهریه و شیربها کلاهی بر سرشان نرود

نمونه ای از زبان شیرین این نرم افزار
نمونه ای از زبان شیرین این نرم افزار
بهتر است با هم مثالی را بررسی کنیم تا بتوانیم بیشتر با زبان گمز آشنا شویم
به عنوان نمونه به مثال زیر توجه کنید:

کد مربوط به به بخش معادلات مدل بالا می تواند به شکل زیر باشد:

  • Equation
  • objective
  • Constraint1
  • constraint2
  • ;
  • objective.. o=e=x1+x2 ;
  • constraint1.. x1*x2=l=10 ;
  • constraint2.. x1-x2=g=2 ;


البته لازم است دقت کنیم که کد بالا کامل نیست و برای تکمیل باید قبل از تعریف این معادلات متغیرهای x1 و x2 و همچنین متغیر مربوط به تابع هدف یا o قبلاً تعریف شده باشند.


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


ساختار مدل سازی در GAMS

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


در قسمت دوم ما دقیقا با خود مدل کار داریم .

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

در واقع در این قسمت باید تمامی هنر کدنویسی مان را برای عروس به نمایش بگذاریم تا بتوانیم جواب بعععععله را از ایشان بگیریم


در قسمت آخر هم باید مدل را حل کنیم

در اینجا میتوانیم با دستور Solve مدل را حل کنیم و با به کار گیری دستور Display مقادیر خروجی را به نمایش درآوریم

مطلب مهم این است که باید نوع مدل را در این قسمت تعیین کنیم

مدل ریاضی پرکاربردی که وجود دارد مدل های برنامه ریزی عدد صحیح مختلط هستند که به صورت خطی و غیر خطی مدل سازی می شوند

این مدل ها شامل متعیر های عدد صحیح و متغیر های پیوسته بوده و همین ویژگی آن باعث شده تا به دنیای واقعی نزدیک تر باشد

موارد و مسائل زیادی ممکن است در زندگی مشترک برایمان پیش بیاید ؛ این عروس مهربان ، در حل مسائل برنامه ریزی خطی (LP)، غیر خطی (NLP)، عدد صحیح مختلط (MIP)، عدد صحیح خطی مختلط (MILP)، مکمل خطی (MCP) و . . . به کمک ما می آید و رنج های زندگی را برایمان آسان می کند


این همسفر مهربان و امدادگر ما ، قادر است در تنگنا های مختلفی به ما یاری رسانی کند ؛ اگر در یکی از موارد موردنظر در تنگنا قرار گرفته ایم ، کافی است با او همسفر شویم


برخی از کاربردهای مدل­سازی ریاضی


  • مدیریت حمل و نقل کالا و مواد در شبکه‌های ارتباطی جاده‌ای، دریایی، هوایی و لوله‌های انتقال
  • افزایش کیفیت خدمات در حوزه سلامت و بیمارستان ها
  • ارزیابی بهره‌وری، کارایی و اثربخشی
  • تخصیص بهینه
  • بودجه‌ریزی بهینه با هدف استفاده مؤثر از هزینه‌ها
  • طراحی ساختار کارخانه‌ها با هدف جریان بهینه مواد و کالاها
  • برنامه ریزی تولید
  • ایجاد شبکه‌های ارتباطی با کمترین هزینه و اطمینان از کیفیت خدمات
  • مدیریت ترافیک خیابانی و جاده‌ای
  • طراحی ساختار چیپ‌های کامپیوتری با هدف کاهش زمان تولید
  • مدیریت جریان مواد و کالا در زنجیره تأمین
  • زمان‌بندی: کارکنان ، مراحل تولید ، مدیریت پروژه ، انتقال داده‌ها در شبکه‌ها


از خوبی های حضرت دلبر هر چقدر بگم کم گفتم اما چندتا نقل قول از زبان آن داماد های باهوش که اول صحبتم وعده داده بودم برای شما عزیزان مشتاق آورده ام

خوبی های GAMS

  • مدیریت ترافیک خیابانی و جاده‌ای
  • طراحی ساختار چیپ‌های کامپیوتری با هدف کاهش زمان تولید
  • مهیا نمودن یک زبان سطح بالا برای خلاصه کردن برنامه نویسی مدل های بزرگ و پیچیده
  • بستر مناسب برای ایجاد تغییرات آسان و ایمن در مدلها
  • محیط و زبان بسیار ساده برای ایجاد گزاره ها و روابط جبری مختلف
  • صرفه جویی در وقت و انرژی کاربر به هنگام برنامه نویسی
  • استفاده از solver های مختلف برای رسیدن به جواب مطلوب با سلیقه و تشخیص کاربر
  • ایجاد خطاهایی که کاربر را به سوی رفع خطا راهنمایی می کنند
  • ذخیره اطلاعات خروجی با روش ها و فرمت های مختلف و همچنین قابلیت بازخوانی اطلاعات مشابه
  • قابلیت اشتراک و تبادل اطلاعات با نرم افزار های پرکار دیگر مانند Excel، MATLAB، Access را نیز دارد


  • هم چنین منوی Help نرم افزار بسیار مفید بوده و می توانیم جهت یادگیری و رفع اشکال بیشتر از آن کمک بگیریم


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

ویژگی های نسخه بدون لایسنس

کاربران با نسخه بدون لایسنس GAMS می توانند مدل های خود را با محدودیت های زیر مدل کنند:
  • تعداد متغیرها و محدودیت ها نباید بیشتر از ۳۰۰ باشد.
  • تعداد اجزای غیرصفر نباید بیشتر از ۲۰۰۰ عدد و برای برنامه ریزی غیرخطی ۱۰۰۰ عدد باشد.
  • تعداد متغیرهای گسسته نباید بیشتر از ۵۰ عدد باشد.
البته همانطور که قبلا هم گفتم لازم به ذکر است که در نسخه کامل این نرم افزار هیچ محدودیتی برای حل مسائل وجود ندارد.

این ویژگی ها و مزیت ها نشان می دهند که GAMS برتری چشم گیری نسبت به سایر نرم افزار بهینه سازی دارد که اهمیت یادگیری و استفاده از آن را به رخ می کشد.



منابع :
faramohandes.ir
gamsbook.ir




شگفتانه ای هیجان انگیز ؛ مراسم عقد تان با ما

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

این دوره از اواخر شهریور ماه آغاز می شود شما عزیزان می توانید برای ثبت نام از طریق اینستاگرام و تلگرام و هماهنگی با روابط عمومی انجمن اقدام کنید

کانال تلگرام انجمن : aem_sanaye_mazust@
صفحه اینستاگرام انجمن : ie_mazust@
صنایعگمزمهندسی صنایعنرم افزار gamsنرم افزار گمز
•Hossein Yazdani | حسین یزدانی ?‍♂️شناگر اقیانوس کم عمق ?مهندسی صنایع ? ????? •••••••••••••••••••••••درراه مفیدبودن بیشتروموثرتر از یک نفر باشیم ✌
شاید از این پست‌ها خوشتان بیاید