پارامترها (Parameters) چیست؟
در GAMS، پارامترها دادههای ثابت مدل هستند که برای ذخیره مقادیر عددی مثل هزینه، فاصله، ظرفیت، یا تقاضا استفاده میشوند. این دادهها برخلاف متغیرها که GAMS آنها را محاسبه میکند، از قبل مشخص هستند و در طول حل مدل تغییر نمیکنند.
ویژگیهای پارامترها
- دادههای ثابت: مثل هزینه حمل یا ظرفیت انبار.
- وابسته به مجموعهها: معمولاً پارامترها روی مجموعهها (Sets) تعریف میشوند.
- انعطافپذیری: میتوانند تکبعدی (مثل هزینه هر شهر) یا چندبعدی (مثل هزینه بین جفت شهرها) باشند.
نحوه تعریف پارامترها در GAMS
پارامترها با کلمه کلیدی Parameters تعریف میشوند. ساختار کلی به این شکل است:
Parameters
name(index) "توضیح" /element1 value1, element2 value2, .../;
- name: نام پارامتر (مثل c یا cost).
- index: مجموعهای که پارامتر به آن وابسته است (مثل i برای شهرها).
- “توضیح”: توضیح اختیاری برای خوانایی.
- element1 value1: مقدار پارامتر برای هر عنصر مجموعه.
مثال ساده: تعریف هزینه حمل
فرض کنید میخواهید هزینه حمل کالا از یک انبار به چند شهر را مدل کنید. ابتدا مجموعه شهرها را تعریف میکنید و سپس پارامتر هزینه را روی آن:
Sets
i "شهرهای ایران" /Tehran, Shiraz, Isfahan/;
Parameters
c(i) "هزینه حمل به هر شهر" /Tehran 50, Shiraz 100, Isfahan 80/;
- c(i): پارامتر هزینه حمل به هر شهر.
- مقادیر: ۵۰ برای تهران، ۱۰۰ برای شیراز، و ۸۰ برای اصفهان.
پارامترهای چندبعدی
برای مسائل پیچیدهتر، میتوانید پارامترهای چندبعدی تعریف کنید. مثلاً هزینه حمل بین جفت شهرها:
Sets
i "شهرها" /Tehran, Shiraz, Isfahan/;
Parameters
d(i,i) "هزینه حمل بین شهرها"
/Tehran.Shiraz 100, Tehran.Isfahan 80, Shiraz.Isfahan 90/;
- d(i,i): هزینه حمل بین جفت شهرها (مثلاً ۱۰۰ از تهران به شیراز).
- توجه: هزینه از یک شهر به خودش (مثل Tehran.Tehran) معمولاً صفر است یا تع