آموزش GAMS – قسمت ۱۳ : خطایابی اولیه در GAMS

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

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

آخرین اخبار مهندسی صنایع و مدیریت

پایان نامه مهندسی صنایع ارشد
انجام پایان نامه کارشناسی ارشد صنایع؛ راهنمای جامع، تخصصی و تضمینی برای موفقیت علمی
پایان نامه ارشد زنجیره تامین
انجام پایان‌نامه مهندسی صنایع ارشد در حوزه زنجیره تأمین؛ یک راهنمای جامع و تخصصی برای دانشجویان
زمان مطالعه: 5 دقیقه
استخراج مقاله از پایان نامه مهندسی صنایع
آموزش استخراج مقاله از پایان‌نامه مهندسی صنایع | راهنمای تخصصی برای دانشجویان صنایع
قیمت پایان نامه مهندسی صنایع
هزینه انجام پایان نامه مهندسی صنایع در سال ۱۴۰۴
زمان مطالعه: 5 دقیقه
انتخاب موضوع پایان نامه
موضوعات پایان‌نامه مهندسی صنایع ۱۴۰۴ + ۵۰ موضوع جدید و قابل استخراج مقاله ISI
زمان مطالعه: 5 دقیقه
انتخاب موضوع پایان نامه مهندسی صنایع
انتخاب موضوع پایان نامه مهندسی صنایع از صفر تا صد، راهنمای کامل برای دانشجویان

خطایابی در GAMS چیست؟

خطایابی به معنای پیدا کردن و رفع اشکالات در کد GAMS است که مانع اجرای صحیح مدل می‌شوند. GAMS خطاها را در فایل خروجی (.lst) یا پنجره Log گزارش می‌دهد. این خطاها ممکن است به دلیل مشکلات نگارشی (Syntax Errors) یا منطقی (Logical Errors) باشند.

انواع خطاها

  1. خطاهای نگارشی (Syntax Errors):
    • مشکلات در ساختار کد، مثل اشتباه در نوشتن دستورات یا فراموش کردن سمی‌کالن (;).
    • مثال: نوشتن Set به‌جای Sets.
  2. خطاهای منطقی (Logical Errors):
    • مدل درست اجرا می‌شود، اما نتایج نادرست است (مثلاً به دلیل محدودیت‌های ناسازگار).
    • مثال: تقاضای بیشتر از ظرفیت انبار.
  3. خطاهای حل‌کننده:
    • مدل قابل‌حل نیست (مثلاً Infeasible یا Unbounded).
    • مثال: محدودیت‌هایی که هیچ راه‌حلی ندارند.

چگونه خطاها را پیدا کنیم؟

GAMS خطاها را در فایل خروجی (.lst) یا پنجره Log در GAMS Studio گزارش می‌دهد. برای خطایابی:

  1. پنجره Log: پیام‌های خطا (Error Messages) را بررسی کنید. خطاها با کد (مثل *** Error 149) و توضیح نمایش داده می‌شوند.
  2. فایل .lst: جزئیات خطا، شماره خط، و توضیحات را نشان می‌دهد.
  3. نکات کلیدی:
    • شماره خط (Line Number) را بررسی کنید.
    • پیام خطا را بخوانید (مثل Unknown symbol برای متغیر تعریف‌نشده).
    • از کامنت‌ها برای غیرفعال کردن بخش‌های کد و تست استفاده کنید.

مثال عملی: خطایابی در مسئله حمل‌ونقل

فرض کنید کد زیر برای کمینه کردن هزینه حمل کالا نوشته شده، اما خطا دارد:

* مدل حمل‌ونقل با خطا
Sets
  i "شهرهای مقصد" /Tehran, Shiraz, Isfahan/;

Parameters
  c(i) "هزینه حمل" /Tehran 50, Shiraz 100, Isfahan 80/
  d(i) "تقاضا" /Tehran 200, Shiraz 300, Isfahan 250/
  s "ظرفیت انبار" /۵۰۰/;

Variables
  x(i) "مقدار حمل"
  z "هزینه کل";
Positive Variable x;

Equations
  Cost "هزینه کل"
  Demand(i) "تقاضای هر شهر"
  Supply "محدودیت ظرفیت";

Cost z =e= sum(i, c(i)*x(i));  * خطا: سینتکس نادرست
Demand(i).. x(i) =g= d(i)
Supply.. sum(i, x(i)) =l= s;

Model Transport /all/;
Solve Transport using LP minimizing z;

Display x.l, z.l;

خطاها و رفع آن‌ها