آموزش GAMS – قسمت ۱۲ : کامنت‌گذاری در کد (Ontext/Offtext)

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

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

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

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

کامنت‌گذاری چیست؟

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

روش‌های کامنت‌گذاری در GAMS

  1. کامنت تک‌خطی با *:
    • برای توضیحات کوتاه در ابتدای خط استفاده می‌شود.
    • مثال: * این یک کامنت است
  2. کامنت چندخطی با Ontext/Offtext:
    • برای توضیحات طولانی‌تر یا چندین خط استفاده می‌شود.
    • مثال:$Ontext این یک مدل حمل‌ونقل ساده است برای کمینه کردن هزینه حمل کالا $Offtext
  3. توضیحات در تعریف اجزا:
    • در تعریف مجموعه‌ها، پارامترها، یا معادلات می‌توانید توضیحات را در نقل‌قول (” “) اضافه کنید.
    • مثال: Sets i “شهرهای مقصد” /Tehran, Shiraz/

چرا کامنت‌گذاری مهم است؟

  • خوانایی: کد را برای خودتان و دیگران قابل‌فهم می‌کند.
  • اشکال‌زدایی: کمک می‌کند بخش‌های مختلف کد را سریع‌تر شناسایی کنید.
  • همکاری: در پروژه‌های تیمی، توضیحات واضح کار را ساده‌تر می‌کند.
  • مستندسازی: برای مرور کد در آینده یا آموزش دیگران مفید است.

نحوه کامنت‌گذاری در GAMS

۱. کامنت تک‌خطی

برای توضیح یک خط خاص:

* تعریف مجموعه شهرها
Sets i /Tehran, Shiraz/;

۲. کامنت چندخطی

برای توضیحات طولانی‌تر:

$Ontext
این مدل برای کمینه کردن هزینه حمل طراحی شده است.
داده‌ها شامل هزینه و تقاضای شهرها هستند.
$Offtext

۳. توضیحات در تعریف

برای اجزای مدل:

Parameters
  c(i) "هزینه حمل به هر شهر (هزار تومان)" /Tehran 50, Shiraz 100/;

مثال عملی: مسئله حمل‌ونقل با کامنت‌گذاری

کد زیر یک مدل حمل‌ونقل ساده را با کامنت‌های مناسب نشان می‌دهد:

* مدل حمل‌ونقل ساده برای کمینه کردن هزینه
$Ontext
این مدل هزینه حمل کالا از یک انبار به سه شهر را کمینه می‌کند.
داده‌ها شامل هزینه و تقاضای هر شهر است.
$Offtext

* تعریف مجموعه‌ها
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;

توضیح کد

  • کامنت تک‌خطی: * مدل حمل‌ونقل ساده در ابتدای کد.
  • کامنت چندخطی: $Ontext/$Offtext برای توضیح کلی مدل.
  • توضیحات در تعریف: مثل “هزینه حمل (هزار تومان)” برای خوانایی.
  • خروجی: مقادیر x.l (مقدار حمل) و z.l (هزینه کل) در فایل .lst نمایش داده می‌شود.

خروجی نمونه

در فایل .lst:

x.l(Tehran)  200.000
x.l(Shiraz)  300.000
x.l(Isfahan) 250.000
z.l          29500.000
  • توضیح: ۲۰۰ واحد به تهران، ۳۰۰ واحد به شیراز، ۲۵۰ واحد به اصفهان حمل می‌شود. هزینه کل ۲۹۵۰۰ هزار تومان است.

نکات مهم در کامنت‌گذاری

  • تعادل: از کامنت‌های زیاد یا خیلی کم پرهیز کنید. فقط بخش‌های مهم را توضیح دهید.
  • وضوح: توضیحات کوتاه و معنادار بنویسید.
  • استفاده از $Ontext/$Offtext: برای توضیحات طولانی یا غیرفعال کردن بخش‌هایی از کد.
  • خطاها: کامنت‌ها روی اجرا تأثیری ندارند، اما فایل .lst را برای خطاهای دیگر بررسی کنید.

نکات کلیدی

  • کامنت‌گذاری: کد را خواناتر و قابل‌فهم می‌کند.
  • روش‌ها: تک‌خطی با *، چندخطی با $Ontext/$Offtext، توضیحات در تعریف.
  • کاربرد: برای مستندسازی و همکاری تیمی.
  • خوانایی: از توضیحات واضح و کوتاه استفاده کنید.

گام بعدی

در قسمت بعدی، با خطایابی اولیه در GAMS آشنا می‌شوید تا مشکلات کد را پیدا و رفع کنید. فایل‌های نمونه و ویدئوهای این دوره را از سایت بهینه‌یار دانلود کنید!

کلمات کلیدی: آموزش GAMS، کامنت‌گذاری در GAMS، Ontext/Offtext، مدل‌سازی بهینه‌سازی، بهینه‌یار

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *