فرمت :WORD تعداد صفحه :29
سیستم GAMS یک زبان برنامهنویسی مدلسازی با قابلیت بالاست.
از GAMS برای حل مسائل برنامهریزی خط (LP)، برنامهریزی غیرخطی (NLP)، برنامهریزی صحیح مختلط (MIP)، برنامهریزی خطی صحیح مختلط (MINLP) و مسائل مکمل خطی (MCP) استفاده میکنند.
GAMS در محیطهای DOS ، WINDOWS و UNIX قابل اجراست. در این جا راهاندازی GAMS را برای اجرا تحت DOS بیان میکنیم.
توجه کنید که سیستم GAMS تحت DOS شامل 4 فلاپی 44/1 میباشد.
1- ابتدا یک شاخه دلخواه روی کامپیوتر شخصی خود (مثلاً GAMS) درست کنید. سپس هر چهار فلاپی را روی شاخۀ GAMS کپی کنید. (ترتیب کپی کردن فلاپیها مهم نیست.)
2- برنامۀ gamsinst را اجرا کنید.
این برنامه تمام فایلهای فشردۀ *.Pck را باز میکند.
برای حل یک مسأله توسط GAMS اولین مرحله عبارت است از تشکیل یک فایل متن که بیانکننده مسأله شما به زبان GAMS است. از ویرایشگر متن مثلا Edit در سیستم عامل DOS یا هر ویرایشگر متنی که در اختیار دارید میتوانید استفاده کنید. معمولا فایل حاصل را با پسوند GMS مشخص میکنیم. مثلا اگر برنامهای به نام TEST مینویسید فایلی به نام TEST.GMS ایجاد کنید.
1- برای رفتن به خط بعدی از ENTER استفاده کنید.
2- هرگز از کلید TAB استفاده نکنید، زیرا موجب پیغام خطا میشود.
3- هر خطی که با '*' شروع شود به عنوان توضیح در نظر گرفته میشود و در برنامه خوانده نمیشود.
4- برای GAMS حروف کوچک و بزرگ فرقی ندارد.
5- یک برنامۀ GAMS شامل بخشهای متعددی است، هر بخش با یک سیمیکالون (؛) خاتمه مییابد.
قبل از پرداختن به توضیحات مربوط به بخشهای مختلف یک برنامۀ GAMS کلیات برنامۀ زیر را ملاحظه نمائید.
مسأله:
min
به طوری که
برنامۀ مربوط به این مسأله در بخشهای بعدی به عنوان TEST ارجاع داده خواهد شد.
* OPTION LAMRO = 0 , LIMCOL = 0
SETS
J / C1*C6 /
I / B1*B3 / ;
PAPAMETERS
B ( I )
/ B1 6
B2 4
B3 4 /
C ( J )
/ C1 -1
C2 -2
C3 1
C4 -1
C5 -4
C6 2 / ;
TABLE
A ( I , J )
C1 C2 C3 C4 C5 C6
B1 1 1 1 1 1 1
B2 2 -1 -2 4 0 0
B3 0 0 1 1 2 1 ;
VARIABLES
COSTS
POSITIVE VARIABLES
X ( J ) ;
EQUATION
OBJECTIVE
Y ( I ) ;
OBJECTIVE . . COSTS = E = SUM ( J , C ( J ) X ( J ) ) ;
Y ( I ) . . SUM ( J , A ( I , J ) * X ( J ) ) = L = B ( I ) ;
MODEL TEST / ALL / ;
SOLVE TEST USING LP MINIMIZING COSTS ;
DISPLAY X . L , X . M ;
در این بخش تمام اندیسهایی که در نوشتن معادلات مدل استفاده میشوند معرفی میگردند. این اندیسها عباراتی صرفی – عددی هستند. به عنوان مثال در برنامۀ TEST بخش SETS ، ضرایب تابع هدف توسط J و تعداد قیود توسط I مشخص شدهاند.
توجه شود که در اصل J را توسط ضرایب تابع هدف به صورت