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

سلام سلام سلام سلام به مهندس های نمونهامیدوارم حال همگی عالی باشه و سلامت باشید برای ما که در حال تحصیل در رشته مهندسی صنایع هستیم طبیعی هست که حتی شده حداقل برای یکبار اسم نرم افزار گمز ، این عروس زیبای بهینه سازی رو شنیده باشیم.شاید عده ای حسود ظاهربین بگویند که کجای این عروس ترشیده زیباست اما این زیبایی را فقط آن داماد هایی درک کرده اند که حداقل یکبار به عقد این عروس در آمده اند که چند نمونه از تجربیات این عزیزان کارکشته را جمع کرده ام و در انتهای متن با هم به آن نگاهی می اندازیم همان داماد های باهوشی که به خاطر آشنایی با این عروس زیبا به مهارت و درآمد خوبی هم رسیده اندحالا بهتر است که بریم و اول از همه درباره نحوه تولد این نرم افزار یک ذره اطلاعات کسب کنیم چون طبق رسم ما ایرانی ها قبل از ازدواج تحقیق لازم است و معمولا اطلاعات تولد عروس ، مطالب جالبی را به ما منتقل می کندتاریخچه از حدود دهه 1950 که علم کم کم سرعت پیشرفت بالایی پیدا کرد ، دانشمند ها به فکر ساخت و استفاده از الگوریتم های کاربردی افتادند که بتوانند از آن ها برای حل مدل ها و مسئله های سخت ، پیچیده و بزرگ ریاضی کمک بگیرند . همین داستان ادامه داشت تا اینکه رسیدیم به دهه 1980 که کامپیوتر های سریع ، نرم افزار ها و الگوریتم ها ساخته شدند . در همین جریان ها بود که عروس ما متولد شد اولین بار GAMS به وسیله گروهی ساخته شد که اقتصاددان های بانک جهانی بودند و این نرم افزار را برای ساده کردن و حل مدل ها و مسائل مختلف بر روی کامپیوتر شخصی راه اندازی و توسعه داده شدفلسفه نام GAMSهمانطور که مطلع هستید ، عروس ما زیبایی خاصی دارند که به اسم ایشان هم سرایت کرده است ؛ GAMS در واقع خلاصه عبارت General Algebraic Modeling System است که در واقع یک سیستم مدل سازی سطح بالا برای برنامه نویسی و بهینه سازی ریاضی در بین نرم افزار های مهندسی می باشداما برای ازدواج شناخت بیشتری لازم داریم همینطور ندیده و نشناخته که نمی شود پس بهتر است تا بیشتر با این عروس زیبا آشنا شویمزبانِ GAMS زبانی که برای حضرت دلربای GAMS آشناست مشابه زبانِ دیگر حضرات برنامه نویسیِ رایج است و به همین دلیل برای کسانی که تجربه برنامه نویسی دارند هم صحبت شیرین سخنی است اما کسانی که مثل من زیاد با غریبه ها هم صحبت نمی شوند لازم است با چند جلسه آموزش و تمرین آداب معاشرت با این عروس زیبا را یاد بگیرند تا هنگام صحبت درباره مهریه و شیربها کلاهی بر سرشان نرودنمونه ای از زبان شیرین این نرم افزاربهتر است با هم مثالی را بررسی کنیم تا بتوانیم بیشتر با زبان گمز آشنا شویمبه عنوان نمونه به مثال زیر توجه کنید:کد مربوط به به بخش معادلات مدل بالا می تواند به شکل زیر باشد:EquationobjectiveConstraint1constraint2;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.irgamsbook.irشگفتانه ای هیجان انگیز ؛ مراسم عقد تان با مااگر چنانچه علاقه مند به آشنایی بیشتر و یا حتی ازدواج با این عروس دلربا و یادگیری این نرم افزار پرکاربرد هستید انجمن علمی مهندسی صنایع دوره آموزشی این نرم افزار را طراحی و آماده سازی کرده تا شما هیچ مشکلی برای عقد پیدا نکنید این دوره از اواخر شهریور ماه آغاز می شود شما عزیزان می توانید برای ثبت نام از طریق اینستاگرام و تلگرام و هماهنگی با روابط عمومی انجمن اقدام کنیدکانال تلگرام انجمن : aem_sanaye_mazust@صفحه اینستاگرام انجمن : ie_mazust@