متغیرها (Variables) چیست؟
در GAMS، متغیرها مقادیری هستند که نرمافزار در فرآیند بهینهسازی محاسبه میکند. برخلاف پارامترها که ثابتاند، متغیرها مقادیر ناشناختهای هستند که GAMS برای رسیدن به بهترین جواب (مثل کمینه کردن هزینه یا بیشینه کردن سود) تعیین میکند.
ویژگیهای متغیرها
- تصمیمگیری: متغیرها نشاندهنده تصمیمهایی هستند که مدل میگیرد (مثل مقدار تولید یا حمل کالا).
- وابسته به مجموعهها: معمولاً روی مجموعهها (Sets) تعریف میشوند.
- انواع مختلف: میتوانند مثبت، منفی، باینری (۰ یا ۱)، یا عدد صحیح باشند.
انواع متغیرها در GAMS
GAMS از انواع مختلفی از متغیرها پشتیبانی میکند:
- متغیر آزاد (Free Variable):
- میتواند هر مقداری (مثبت، منفی، یا صفر) داشته باشد.
- مثال: سود کل یک شرکت.
- متغیر مثبت (Positive Variable):
- فقط میتواند مثبت یا صفر باشد (منفی نمیشود).
- مثال: مقدار کالای حملشده.
- متغیر باینری (Binary Variable):
- فقط ۰ یا ۱ میگیرد.
- مثال: تصمیم برای انتخاب یا عدم انتخاب یک مسیر.
- متغیر صحیح (Integer Variable):
- فقط مقادیر صحیح میگیرد (مثل ۱، ۲، ۳).
- مثال: تعداد ماشینهای موردنیاز.
نحوه تعریف متغیرها در GAMS
متغیرها با کلمه کلیدی Variables تعریف میشوند. ساختار کلی به این شکل است:
Variables
name(index) "توضیح";
[Positive/Binary/Integer] Variable name;
- name: نام متغیر (مثل x یا total_cost).
- index: مجموعهای که متغیر به آن وابسته است (مثل i برای شهرها).
- “توضیح”: توضیح اختیاری برای خوانایی.
- [Positive/Bi