دستور Parameter

تعدادی از بردارهای ثابت و داده های محاسباتی (چه به اندیس ها وابسته باشند چه نباشند) را با دستور Parameter تعریف می کنند. دستور کلی آن تقریبا مشابه کمیت های scalar است. فرض کنیم داده ها و بردارهای زیر را داریم:

parameter-Examples

دستورات مربوط به هر کدام از این بردارها و پارامتر ها به صورت زیر خواهد بود:

*Example1:
parameter tehran/3/;
*Example2:
parameter a/1/, b/3/, c/2.4/, alpha/0.25/;
*Example3:
parameter d/5/, e/2/, f(j)/1 3,2 0,3 6/;
*Example4:
parameter Gela(c)/c1 10,c2 100,c3 1000/;
*Example5:
parameter a(i)/(a1,a4) 4,(a5*a9) 12/;


ذکر این نکته لازم است که برای تعریف f, Gela و a به دلیل اندیس دار بودن این داده ها باید ابتدا اندیس مربوط به هر یک تعریف شده و سپس به تعریف آنها پرداخت. مجموعه های این اندیس ها را می توان به شکل زیر تعریف نمود: (این مجموعه ها باید در خطوطی قبل از دستور parameter تعریف شده باشند.


Sets j/1*3/
c/c1,c2,c3/
i/a1*a9/ ;


توسط دستور parameter می توان داده های با بیش از ۲ بُعد (۲ اندیس) نیز تعریف نمود. دو مثال زیر مثالهایی از داده هایی با ۳ بعد می باشند:

Data-Entry-Parameter-3D

توضیح: در مثال اول پارامتر multi به i,k,j وابسته است. به طوری که اگر i=1 و j=1 و k=2 باشند، multi مقدار ۳۰ را اختیار می کُند. حالَُ اگر ترکیبی مانند i=3, j=2, k=1 وجود داشته باشد، GAMS خود به خود مقدار آن را صفر در نظر می گیرد.
در مثال دوم نیز اگر آقای احمدی(مستخدم) زیر دست آقای عزیزی(مدیر) در”سازمان ۳ ” انجام وظیفه کند دستمزدی معادل ۲۰۰۰ واحد خواهد داشت.

ادامه ی مدل سازی مثال کاربردی ۱:
در صورتی که آموزش گام به گام را از ابتدا پیگیری نموده اید. ملاحظه می فرمایید که در این مثال سه بردار a و b و c موجودند. بردارهای b و c را توسط دستور parameter به شکل زیر می توانیم تعریف نماییم. (بردار a نیز به دلیل سهولت بیشتر توسط دستور Table تعریف خواهد شد- هر چند که این امر با دستور parameter هم قابل اجرا کد کردن است. علت این کار طولانی شدن و وقت گیر بودن کد نویسی مربوطه می باشد.)

parameters-Example1

دستور parameter تا حدی مورد بحث قرار گرفت. امیدواریم که گره ای از مشکلات شما در سر و کله زدن با این دستور گشوده باشیم.

خدمت عزیزانی که آموزش گام به گام را از ابتدا همراه با ما شروع نموده اند توصیه می شود که پس از مطالعه و مرور این صفحه، جهت ادامه مراحل آموزش به بخش Tableدر لیست مطالب مراجعه نمایند.

با تشکر
مدیریت سایت gamsbook.ir

ایمیل: Support@gamsbook.ir
شماره تماس: ۳۳۲۵-۴۰۵–۰۹۱۹

 

این مقاله برای شما مفید بود؟

مطالب مشابه

دیدگاهی دارید؟