همانطور که در بخش وارد کردن داده های مسئله یا Data Entry بیان شد، در مدل هاییی که نیاز به تعریف مجموعه ای از اندیس ها یا زیر اندیس های می باشد باید از تعریف مجموعه های نظیر آنها شروع کرد.

جهت تعریف مجموعه ها از دستور (sets و یا Set) استفاده می کنیم. مجموعه ها اساس یک برنامه ی GAMS را نشان می دهند و مترادف با اندیس ها در نمایش جبری مدل ها هستند. انواع و اقسام مجموعه ها را می توان در GAMS تعریف نمود. فرم کلی این تعریف به صورت زیر است.

Set setname/set members/;

به عنوان مثال مجموعه ی زیر (i) اعداد 1 و 2 و 3 را شامل می شود:

*Example:
set i/1,2,3/;


توجه: کد با set شروع می شود. متن در محاسبات و تعاریف تاثیری ندارد. نام مجموعه را به عنوان نماینده¬ی مجموعه در محاسبات و معادلات به کار می بریم. اعضای مجموعه باید تمامی اعضا را شامل شود.

مجموعه های زیر را در نظر بگیرید.

Untitled

هر کدام از این مجموعه ها را می توان به صورت زیر تعریف نمود:

Sets-Samples

با اندکی دقت در شکل بالا مشاهده می شود که شیوه ی کد نویسی مجموعه ها بسیار مشابه با عبارات جبری آنها می باشد. به عنوان مثال مجموعه ی i مقادیر 1 تا 10 را به خود می گیرد. یا مجموعه ی دوستان به محمد، زاهد و رضا را شامل می شود. مجموعه ی Row از Row1 تا Row20 را شامل می شود و… .

همانطور که ملاحظه می شود،

 بعد از هر دستوری علامت سیمی کالون (;) می گذاریم.
 فاصله بین نام مجموعه و اعضای مجموعه مهم نیست.
 فاصله بین اعضای مجموعه با هم در کد ما خدشه ای وارد نمی کند.
 زیر مجموعه ها می توانند عددی، حروفی و یا ترکیبی از این دو باشند.
 اعضا با استفاده از کاما از هم جدا می شوند.
 متن را می توان بعد از نام مجموعه آورد ولی تاثیری در محاسبات نخواهد داشت.
 هر تعداد مجموعه که نیاز داشته باشیم می توانیم تعریف نماییم.
 حتی اگر یک عضو یا زیر مجموعه در یک یا چند سطر دیگر هم باشد باز هم مشکلی پیش نخواهد آمد.

به شکلی بسیار ساده تعریف مجموعه ها را یاد گرفتید. پس احتمالاً می توانید کد مربوط به مثال کاربردی 1 را نیز در GAMS بنویسید.

همانطور که در مثال کاربردی 1 مشاهده می فرمایید، دو نوع اندیس در این مدل داریم. یکی اندیس i و دیگری اندیس j می باشند. اندیس i از 1 تا 3 و اندیس j نیز از 1 تا 3 تغییر می کنند. جهت تعریف این مجموعه ها به سادگی به صورت زیر می توان عمل نمود:

Sets-Exaple1

جهت تعریف مجموعه های چند بعدی، مجموعه های در هم و زیر مجموعه ها نیز به روش های مشابه می توان عمل نمود. این تاپیک ها نیز به زودی در همین بخش آموزش داده خواهند شد.

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

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

ایمیل: Support@gamsbook.ir
شماره تماس: 3325-405–0919