عدم باز شدن فایل LST در gams

همانطور که مستحضر هستید، فایل LST شامل گزارش خروجی گمز به کاربر است. در پاره‌ای از اوقات، ممکن است شما مدلی run کنید و این ران با موفقیت به اتمام برسد ولی فایل LST به شما نمایش داده نشود. ارور مربوطه به شکل زیر است:

Error: 225 Floating-entry-ignored

ارور 225 از مجموعه Error هاییست که به هنگام کار با دستوراتی مانند table ممکن است با آن برخورد کنید. از معنی انگلیسی آن کاملا پیداست که داده ای ورودی از نظم مشخص شده تبعیت نمی کند. اگر بر روی ارور مشخص شده دابل کلیک کنید، گمز جهت کمک در […]

مجموعه های چند بعدی – نحوه تعریف و کاربرد آنها

بارها و بارها تأکید کرده ایم که شما می توانید با تعریف مجموعه های چند بعدی هم سرعت حل مدل، هم نظم کد نویسی و هم دقت آن را بالا ببرید. به یاد داشته باشید، در مدل هایی که نیاز به تعریف set دارند، مهم ترین بخش همین تعریف set […]

تمرین 7: محدودیت بزرگتر مساوی

همانطور که میدانید تعریف یک معادله در گمز به صورت =e=، =l=، =g= صورت می گیرد. که به ترتیب به معنی بزرگتر مساوی، کوچکتر مساوی و مساوی خواهند بود. حال سوالی که در اینجا مطرح است می تواند این باشد که آیا واقعا گمز همین سه نوع معادله را پوشش […]

Error 119: Number Primary-Expected

Number Primary Expected چیست؟ و چرا رخ می دهد؟ شیوه رفع آن چگونه است؟ آیا فقط برای دستور Sum رخ می دهد؟ احتمالا Error 119 را در گمز مشاهده نموده اید. این ارور یکی از ارورهایی است که بسیار ساده رفع می شود، ولی رفع آن مقداری دقت می خواهد […]

تمرین 6: تابع sign در gams

یکی از تابع های معروف ریاضیات تابع sign است. این تابع را در گمز چگونه تعریف می کنید؟ پس از تعریف تابع، مدلتان از چه تایپی هست؟ MIP? MINLP? NLP? زمان حل مدل به نظر شما چقد افزایش یا کاهش می یابد؟

تمرین 5: معادله نویسی

یکی از بزرگترین مشکلاتی که کاربران مبتدی یا نیمه حرفه ای GAMS با کد نویسی دارند، تعریف معادلاتی نظیر معادله زیر است. این معادله را چگونه تعریف می کنید؟ پاسخ را کامنت بگذارید (این تمرین را جدی بگیرید)

تمرین 4: مسائل infeasible

فرض کنید یک مدل بهینه سازی را در گمز کد نویسی کرده اید. ولی مشاهده می کنید که در process window پیامی تحت عنوان نشدنی بودن مسئله (infeasible) ملاحظه می کنید. مشکل ممکن است از کجا باشد؟ برای بر طرف کردن این مشکلات چه تدبیری می اندیشید؟

Model Statistics

آخرین خروجی GAMS قبل از حل مدل، Model Statistics می باشد. این بخش حجم و بزرگی یک مدل، پیچیدگی آن و میزان غیر خطی بودن آن را مشخص می کند. این بخش برای مثال کاربردی 1 به شکل زیر می باشد:

Solve Statement Output

این بخش از گزارش خروجی مربوط به برنامه هایی است که در آن از دستور Solve استفاده شده است. نرم افزار GAMS پس از حل مسائل و مدل ها، گزارش هایی تحت عنوان Equation listing، column listing، Model Statistics، Solution Report ارائه می دهد.

دستور solve

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

انتخاب نوع solver

مدل هایی که در GAMS نوشته می شوند به طور مستقیم با استفاده از برنامه های دیگر نظیر Cplex, Baron, Lingo و… حل می شوند. هر مدلی که می نویسید باید و باید solver مربوطه را نیز مشخص کنید. این عمل به دو صورت امکان پذیر است.

دستور model

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

دستورات نهایی مدل

یک مدل پس از ورود به محیط نرم افزار، نیازمند گذاره هایی تحت عنوان نام گذاری مدل و حل مدل خواهد بود. همچنین دستورات دلخواه دیگر مانند display نیز جزء دستورات نهایی مدل می باشند که در این بخش به تشریح آنها خواهیم پرداخت.

تعریف متغیرها

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

دستور parameter

تعدادی از بردارهای ثابت و داده های محاسباتی (چه به اندیس ها وابسته باشند چه نباشند) را با دستور Parameter تعریف می کنند. دستور کلی آن تقریبا مشابه کمیت های scalar است. فرض کنیم داده ها و بردارهای زیر را داریم: