تحقیق مقاله راهنمای عملیاتی نرم‌افزار GAMS

تعداد صفحات: 29 فرمت فایل: word کد فایل: 8854
سال: مشخص نشده مقطع: مشخص نشده دسته بندی: مهندسی کامپیوتر
قیمت قدیم:۱۸,۰۰۰ تومان
قیمت: ۱۲,۸۰۰ تومان
دانلود فایل
  • خلاصه
  • فهرست و منابع
  • خلاصه تحقیق مقاله راهنمای عملیاتی نرم‌افزار GAMS

    GAMS چیست؟

    سیستم GAMS یک زبان برنامه‌نویسی مدل‌ سازی با قابلیت بالاست.

    از GAMS برای حل مسائل برنامه‌ریزی خط (LP)، برنامه‌ریزی غیرخطی (NLP)، برنامه‌ریزی صحیح مختلط (MIP)، برنامه‌ریزی خطی صحیح مختلط (MINLP) و مسائل مکمل خطی (MCP) استفاده می‌کنند.

    روش نصب و راه‌اندازی GAMS بر روی کامپیوتر شخصی

    GAMS در محیطهای DOS ، WINDOWS و UNIX قابل اجراست. در این جا راه‌اندازی GAMS را برای اجرا تحت DOS بیان می‌کنیم.

    توجه کنید که سیستم GAMS تحت DOS شامل 4 فلاپی 44/1 می‌باشد.

    1- ابتدا یک شاخه دلخواه روی کامپیوتر شخصی خود (مثلاً GAMS) درست کنید. سپس هر چهار فلاپی را روی شاخۀ GAMS کپی کنید. (ترتیب کپی کردن فلاپی‌ها مهم نیست.)

    2- برنامۀ gamsinst را اجرا کنید.

    این برنامه تمام فایل‌های فشردۀ *.Pck را باز می‌کند.

    چگونه یک برنامه GAMS بنویسیم

    برای حل یک مسأله توسط GAMS اولین مرحله عبارت است از تشکیل یک فایل متن که بیان‌کننده مسأله شما به زبان GAMS است. از ویرایشگر متن مثلا Edit در سیستم عامل DOS یا هر ویرایشگر متنی که در اختیار دارید می‌توانید استفاده کنید. معمولا فایل حاصل را با پسوند GMS مشخص می‌کنیم. مثلا اگر برنامه‌ای به نام TEST می‌نویسید فایلی به نام TEST.GMS ایجاد کنید.

    نکاتی در مورد نحوۀ نوشتن برنامۀ GAMS

    1- برای رفتن به خط بعدی از ENTER استفاده کنید.

    2- هرگز از کلید TAB استفاده نکنید، زیرا موجب پیغام خطا می‌شود.

    3- هر خطی که با '*' شروع شود به عنوان توضیح در نظر گرفته می‌شود و در برنامه خوانده نمی‌شود.

    4- برای GAMS حروف کوچک و بزرگ فرقی ندارد.

    5- یک برنامۀ GAMS شامل بخش‌های متعددی است، هر بخش با یک سیمی‌کالون (؛) خاتمه می‌یابد.

    یک برنامۀ نمونۀ 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 ;

    توضیح

    بخش SETS

    در این بخش تمام اندیس‌هایی که در نوشتن معادلات مدل استفاده می‌شوند معرفی می‌گردند. این اندیس‌ها عباراتی صرفی – عددی هستند. به عنوان مثال در برنامۀ TEST بخش SETS ، ضرایب تابع هدف توسط J و تعداد قیود توسط I مشخص شده‌اند.

    توجه شود که در اصل J را توسط ضرایب تابع هدف به صورت

    J / C1 , C2 , C3 , C4 , C5 , C6 /

    یا

    J / C1 * C6 /

    و I را توسط عناصر صمت راست قیود نامساوی به صورت

    I / B1 , B2 , B3 /

    یا

    I / B1 * B3 /

    شمرده‌ایم.

    توجه: نام هر اندیس تا ده کاراکتر اجازه داده شده و درج فاصله یا جای خالی در نام اندیس اجازه داده نشده است.

    بخش PARAMETERS

    در GAMS پارامترها بردارهای ثابت معلوم و مقدار پارامترها به عنوان داده‌ها در این بخش تعریف می‌شوند. به منظور تعریف مقادیر بردارها، لازم است، اندیس بردارها قبلا در بخش SETS تعریف شده باشد.

    در برنامۀ TEST بردارهای B و C دارای یک مقدار عددی به ترتیب برای هر عنصر مجموعۀ I و J به صورت زیر است.

    PAPAMETERS

                            B ( I )

                                      / B1 6

                                        B2 4

                                        B3 4 /

                            C ( J )

                                      / C1 -1

                                        C2 -2

                                        C3 1

                                        C4 -1

                                        C5 -4

                                        C6 2 / ;

    بخش TABLE

    در GAMS یک ماتریس، مثلا ماتریس ضرایب قیود در LP ، ماتریس ضرایب هزینه در حمل و نقل و... ، در بخش TABLE آورده می‌شود.

    به صورت زیر :

     

     

    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 ;

    توجه شود که تنها یک ماتریس در هر بخش TABLE می‌توان وارد کرد و لازم است با یک سیمی‌کالون (؛) خاتمه یابد. برای وارد کردن چندین ماتریس، همان تعداد TABLE لازم است.

    بخش متغیرها VARIABLES

    در بخش VARIABLES مجهولات مسأله را لیست می‌کنیم. متغیرها می‌توانند اسکالر باشند، یک بردار باشند، یک ماتریس دوبعدی باشند، یک ماتریس سه‌بعدی باشند و غیره ...

    در GAMS متغیرهای نامنفی با عنوان POSITIVE VARIABLES و متغیرهای نامثبت با عنوان NEGATIVE VARIABLES معرفی می‌شوند.

    متغیرها می‌توانند BINARY باشند که در این صورت تنها مقادیر صفر و یک می‌گیرند.

    بخش معادلات EQUATIONS

    بخش بعدی بخش معادلات است که اسامی تابع هدف و قیود دیگر مسأله در آن تعریف می‌شود. نامعادلات شبیه معادلات در این بخش ظاهر می‌شوند.

    در برنامۀ TEST نام OBJECTIVE برای عبارتی که باید می‌نیمم گردد (تابع هدف) انتخاب شده است. نام Y(I) برای قیود مسأله انتخاب شده است.

    بعد از نام‌گذاری، معادلات وارد می‌شوند. ابتدا نام معادله، به دنبال آن دو نقطه (..) آن گاه تعریف جبری قید که خیلی شبیه علائم استاندارد ریاضی است، می‌آید. ضرب به وسیلۀ علامت (*) ، تقسیم به وسیلۀ علامت اِسلش (/)، توان به وسیلۀ (**) تعریف می‌شود.

    بعضی از توابع استاندارد

    تعریف ریاضی

    شرح

    نام

    قدر مطلق

    ABS

    COS ( arg )

    کسینوس

    COS

    exp (arg)

    تابع نمایی

    EXP

    لگاریتم در مبنای e از arg

    لگاریتم طبیعی

    LOG

    لگاریتم در مبنای 10 از arg

    لگاریتم معمولی

    LOG10

    Qrg*arg

    توان دوم

    SQR

    Sqrt(arg)

    ریشه دوم

    SQRT

    بعضی از علائم ریاضی

    علائم ریاضی معمولی

     

    GAMS

     

    SUM ( I ,  )

     

    SUM ( ( I , J ) ,  )

    =

     

    = E =

     

    = G =

     

    = L =

    در GAMS راهی برای بیان کران بالا، کران پایین و قیود تساوی که با یک متغیر سر و کار دارند وجود دارد، مثال زیر را ببینید:

    علائم استاندارد ریاضی

     

    GAMS

     

    X = L = 20

     

    X = G = 20

     

    X = E = 20

    به جای تعاریف فوق قبل از EQUATION ، دستورات زیر را می‌توانیم بیاوریم.

    X . UP = 20 ;

    X . LO = 20 ;

    X . FX = 20 ;

    که در آن UP ، LO ، FX بیان‌کننده کران بالا، کران پایین و مقدار ثابت هستند.

    بخش MODEL و SOLVE

    در آخرین قسمت برنامه، MODEL داده می‌شود، نام مدل (نام فایل) حداکثر 8 تا 10 کاراکتر بسته به GAMS مورد استفاده، انتخاب می‌شود.

    در GAMS کلمۀ مدل مجموعه‌ای از معادلات است که معمولاً یکی از آنها تابع هدف مسأله است، به عنوان مثال:

    MODEL            TEST / ALL / ;

    این معنی را می‌دهد که تمام معادلاتی را که قبلا معرفی شده است به عنوان مدل TEST در نظر گرفته شود.

    از این قسمت می‌توان برای حل تجزیۀ LP هم استفاده کرد (Decomposition) طوری که علاوه بر تابع هدف قیودی را که برای حل کردن مد نظر است در این قسمت می‌نویسیم.

    آخرین خط برنامه:

    SOLVE TEST USING LP MINIMIZING COSTS ;

    به کامپیوتر اعلام می‌کند که مدل TEST را با استفاده از برنامه‌ریزی خطی (LP) که در کتابخانه برنامه حاضر است، به منظرو می‌نیمم‌سازی متغیر COSTS (تابع هدف) حل کن.

    در انتهای برنامه یک خط دلخواه را می‌توان اضافه کرد:

    DISPLAY X . L , X . M ;

    که این خط باعث می‌شود در انتهای جواب برنامه، مقدار متغیرهای مسأله اولیه و مسألۀ دوگان به طور خلاصه و جمع و جور نوشته شود.

    چگونه یک برنامۀ GAMS را اجرا کنیم؟

    بعد از نوشتن برنامه (در یک ویرایشگر)، از آن ویرایشگر خارج می‌شویم، وقتی وارد صفحۀ DOS شدیم، دستور زیر را برای اجرای برنامۀ TEST.GMS می‌نویسیم:

    (یا ساده‌تر GAMS TEST)                                    > GAME      TEST . GMS

    پس از اجرای برنامه، گزارشی از جواب در فایلی به نام TEST . LST ایجاد خواهد شد.به کمک ویرایشگرتان (مثلا EDIT) می‌توانید این فایل را ببینید یا آن را چاپ کنید.

    اولین بار که برنامه‌ای را اجرا می‌کنید، احتمالاً شامل خطاهایی خواهد بود، که این خطاها به وسیلۀ چهار ستاره (****) در سمت چپ خط خطا علامت‌گذاری می‌شود. در جلوی (****)، علامت $ را با یک عدد ملاحظه خواهید کرد، در انتهای برنامه و جلوی همان عدد نوع خطایی را که مرتکب شده‌اید، نوشته شده است، نوع خطا را مطالعه کرده و نسبت به رفع آن اقدام کنید.

    بعد از رفع خطاهای برنامه، سرانجام خلاصه‌‌ای از جواب را در TEST . LST ملاحظه خواهید کرد، که شامل اطلاعاتی است که نیاز خواهید داشت. این قسمت با چهار خط تیره "----" شروع می‌شود. به عنوان مثال خلاصه‌ای از جواب برنامۀ TEST عبارت است از:

     

    ---- EQU Y

                   LOWER          LEVEL           UPPER           MARGINAL

    B1          6.000               6.000               6.000               -2.000

    B2          4.000               4.000               4.000               ESP

    B3          4.000               4.000               4.000               -1.000

     

                               LOWER          LEVEL           UPPER           MARGINAL

    ---- VAR Z        -INF                -16.000            + INF

     

    ---- VAR Z

                   LOWER          LEVEL           UPPER           MARGINAL

    C1          -                       -                       + INF              1.000

    C2          -                       4.000               + INF              -

    C3          -                       -                       + INF              4.000

    C4          -                       -                       + INF              2.000

    C5          -                       2.000               + INF              -

    C6          -                       -                       + INF              5.000

    C7          -                       -                       + INF              2.000

    C8          -                       8.000               + INF              -

    C9          -                       -                       + INF              1.000

     

    **** REPORT SUMMARY :              0          NONOPT

                                                                   0          INFEASIBEL

                                                                   0          UNBOUNDED

     

    ----                      36        VARIABLE   X . L

    C2  4.000,          C5  2.000,       C8  8.000

     

    ----                      36        VARIABLE   X . M

    C1  1.000,     C3  4.000,    C4  2.000,    C6  5.000,    C7  2.000,   C9  1.000

    اولین قسمت خلاصه جواب شامل معادلات است. قسمت دوم خلاصه جواب مقدار بهین تابع هدف را ارائه می‌دهد که برابر 16- است و در ادامه مقدار بهین متغیره هستند که تحت عنوان LEVEL لیست می‌شوند. در قسمت پنجم و ششم، X.L و X.M را ملاحظه خواهید کرد که همان مقادیر بهینۀ به ترتیب متغیرهای اولیه و دوگان مسأله می‌باشند.

  • فهرست و منابع تحقیق مقاله راهنمای عملیاتی نرم‌افزار GAMS

    فهرست:

    ندارد
     

    منبع:

    ندارد

تحقیق در مورد تحقیق مقاله راهنمای عملیاتی نرم‌افزار GAMS, مقاله در مورد تحقیق مقاله راهنمای عملیاتی نرم‌افزار GAMS, تحقیق دانشجویی در مورد تحقیق مقاله راهنمای عملیاتی نرم‌افزار GAMS, مقاله دانشجویی در مورد تحقیق مقاله راهنمای عملیاتی نرم‌افزار GAMS, تحقیق درباره تحقیق مقاله راهنمای عملیاتی نرم‌افزار GAMS, مقاله درباره تحقیق مقاله راهنمای عملیاتی نرم‌افزار GAMS, تحقیقات دانش آموزی در مورد تحقیق مقاله راهنمای عملیاتی نرم‌افزار GAMS, مقالات دانش آموزی در مورد تحقیق مقاله راهنمای عملیاتی نرم‌افزار GAMS, موضوع انشا در مورد تحقیق مقاله راهنمای عملیاتی نرم‌افزار GAMS
ثبت سفارش
عنوان محصول
قیمت