آموزش GAMS – قسمت هفتم: تعریف متغیرها (Variables)

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

در قسمت‌های قبلی مجموعه آموزشی GAMS سایت بهینه‌یار، با مجموعه‌ها (Sets) و پارامترها (Parameters) آشنا شدیم که داده‌های ثابت مدل را تشکیل می‌دهند. حالا در قسمت نهم، به سراغ متغیرها (Variables) می‌رویم. متغیرها قلب مدل‌های بهینه‌سازی در GAMS هستند، زیرا مقادیر تصمیم‌گیری را نشان می‌دهند که نرم‌افزار آن‌ها را محاسبه می‌کند. این آموزش برای مبتدیان طراحی شده و با مثال‌های ساده، نحوه تعریف متغیرها را یاد می‌گیرید. بیایید شروع کنیم!

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

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

متغیرها (Variables) چیست؟

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

ویژگی‌های متغیرها

  • تصمیم‌گیری: متغیرها نشان‌دهنده تصمیم‌هایی هستند که مدل می‌گیرد (مثل مقدار تولید یا حمل کالا).
  • وابسته به مجموعه‌ها: معمولاً روی مجموعه‌ها (Sets) تعریف می‌شوند.
  • انواع مختلف: می‌توانند مثبت، منفی، باینری (۰ یا ۱)، یا عدد صحیح باشند.

انواع متغیرها در GAMS

GAMS از انواع مختلفی از متغیرها پشتیبانی می‌کند:

  1. متغیر آزاد (Free Variable):
    • می‌تواند هر مقداری (مثبت، منفی، یا صفر) داشته باشد.
    • مثال: سود کل یک شرکت.
  2. متغیر مثبت (Positive Variable):
    • فقط می‌تواند مثبت یا صفر باشد (منفی نمی‌شود).
    • مثال: مقدار کالای حمل‌شده.
  3. متغیر باینری (Binary Variable):
    • فقط ۰ یا ۱ می‌گیرد.
    • مثال: تصمیم برای انتخاب یا عدم انتخاب یک مسیر.
  4. متغیر صحیح (Integer Variable):
    • فقط مقادیر صحیح می‌گیرد (مثل ۱، ۲، ۳).
    • مثال: تعداد ماشین‌های موردنیاز.

نحوه تعریف متغیرها در GAMS

متغیرها با کلمه کلیدی Variables تعریف می‌شوند. ساختار کلی به این شکل است:

Variables
  name(index) "توضیح";
[Positive/Binary/Integer] Variable name;
  • name: نام متغیر (مثل x یا total_cost).
  • index: مجموعه‌ای که متغیر به آن وابسته است (مثل i برای شهرها).
  • “توضیح”: توضیح اختیاری برای خوانایی.
  • [Positive/Binary/Integer]: نوع متغیر (اختیاری، اگر آزاد باشد نیازی نیست).

مثال ساده: تعریف متغیر برای حمل‌ونقل

فرض کنید می‌خواهید مقدار کالای حمل‌شده از یک انبار به چند شهر را مدل کنید. ابتدا مجموعه‌ها و متغیرها را تعریف می‌کنید:

Sets
  i "شهرهای مقصد" /Tehran, Shiraz, Isfahan/;
Variables
  x(i) "مقدار کالای حمل‌شده به هر شهر"
  z "هزینه کل";
Positive Variable x;
  • x(i): مقدار کالای حمل‌شده به هر شهر (مثلاً ۵۰ واحد به تهران).
  • z: هزینه کل (متغیر آزاد برای تابع هدف).
  • Positive Variable x: تضمین می‌کند که x منفی نشود.

متغیرهای چندبعدی

برای مسائل پیچیده‌تر، می‌توانید متغیرهای چندبعدی تعریف کنید. مثلاً مقدار حمل بین جفت شهرها:

Sets
  i "شهرها" /Tehran, Shiraz, Isfahan/;
Variables
  y(i,i) "مقدار حمل بین شهرها";
Positive Variable y;
  • y(i,i): مقدار کالای حمل‌شده بین جفت شهرها (مثل Tehran به Shiraz).

نمایش نتایج متغیرها

برای دیدن مقادیر متغیرها پس از حل مدل، از دستور Display استفاده کنید:

Display x.l, z.l;
  • x.l: مقادیر بهینه متغیر x (مثل مقدار حمل به هر شهر).
  • z.l: مقدار بهینه هزینه کل.

مثال عملی: مسئله حمل‌ونقل

فرض کنید می‌خواهید هزینه حمل کالا از یک انبار به سه شهر (تهران، شیراز، اصفهان) را کم کنید:

  • مجموعه‌ها: شهرها (i)، قبلاً تعریف شده‌اند.
  • پارامترها: هزینه حمل به هر شهر (مثل ۵۰، ۱۰۰، ۸۰).
  • متغیرها: مقدار حمل به هر شهر (x(i)) و هزینه کل (z).
  • کد نمونه:Sets i "شهرهای مقصد" /Tehran, Shiraz, Isfahan/; Parameters c(i) "هزینه حمل" /Tehran 50, Shiraz 100, Isfahan 80/; Variables x(i) "مقدار کالای حمل‌شده" z "هزینه کل"; Positive Variable x; Equations Cost "هزینه کل" Demand(i) "تقاضای هر شهر"; Cost.. z =e= sum(i, c(i)*x(i)); Demand(i).. x(i) =g= 50; Model Transport /all/; Solve Transport using LP minimizing z; Display x.l, z.l;
  • توضیح:
    • x(i): مقدار حمل به هر شهر (مثلاً ۵۰ واحد به تهران).
    • z: هزینه کل (تابع هدف).
    • معادله Cost: هزینه کل را محاسبه می‌کند.
    • معادله Demand: تضمین می‌کند هر شهر حداقل ۵۰ واحد کالا دریافت کند.
    • خروجی Display مقادیر بهینه x و z را نشان می‌دهد.

نکات کلیدی

  • متغیرها: مقادیر تصمیم‌گیری هستند که GAMS محاسبه می‌کند.
  • انواع: آزاد، مثبت، باینری، یا صحیح.
  • تعریف: با Variables و وابسته به مجموعه‌ها.
  • نمایش: با Display مقادیر بهینه را ببینید.

گام بعدی

در قسمت بعدی، با تعریف معادلات (Equations) آشنا می‌شوید و یاد می‌گیرید چگونه تابع هدف و محدودیت‌ها را به مدل اضافه کنید. فایل‌های نمونه و ویدئوهای این دوره را از سایت بهینه‌یار دانلود کنید!

کلمات کلیدی: آموزش GAMS، تعریف متغیرها در GAMS، مدل‌سازی بهینه‌سازی، GAMS برای مبتدیان، بهینه‌یار

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

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