دیباگ کردن در GAMS چیست؟
دیباگ کردن فرآیند شناسایی و رفع خطاها در کد GAMS یا مدل بهینهسازی است. خطاها ممکن است شامل مشکلات سینتکس، دادههای نادرست، یا مدل غیرقابلحل (Infeasible/Unbounded) باشند.
انواع خطاهای رایج در GAMS
- خطای سینتکس: اشتباه در نوشتن کد (مثل typo یا ساختار نادرست).
- خطای داده: دادههای ورودی نامعتبر (مثل تقاضای منفی).
- خطای مدل: مدل Infeasible (بدون جواب) یا Unbounded (جواب نامحدود).
- خطای مسیر فایل: مشکل در دسترسی به فایلهای اکسل یا GDX.
ابزارهای دیباگ در GAMS IDE
- پنجره Output: نمایش پیامهای خطا.
- فایل .lst: گزارش دقیق اجرا و خطاها.
- دستور Display: بررسی مقادیر متغیرها و پارامترها.
- حلکنندهها: پیامهای حلکننده (مثل CPLEX) برای مشکلات مدل.
دیباگ کردن در GAMS IDE
برای این آموزش، یک مسئله حملونقل چندمحصولی را مدل میکنیم که عمداً یک خطا (تقاضای کل بیشتر از ظرفیت) دارد. سپس مراحل دیباگ را نشان میدهیم. دادهها از اکسل وارد میشوند.
مرحله ۱: ساختار فایل اکسل
فایل اکسل (data_debug.xlsx) برای مسئله حملونقل چندمحصولی:
Sheet1 (هزینهها):

Sheet2 (تقاضاها):
