۱۷

دستورات نهایی مدل

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

دستورات نهایی به چهار بخش اصلی تقسیم میشوند:

  • دستورات مربوط به نام گذاری مدل
  • دستورات مربوط به تعیین نوع حل کننده
  • دستورات مربوط به حل مدل
  • دستورات مربوط به زیبا سازی خروجی های مدل

  • به طور خلاصه، هر مدلی که شما می نویسید، که شامل یک سری معادله و نامعادله، تابع هدف و محدودیت است، باید اسمی برایش تعریف کنید. یک مدل که برایش اسم تعریف کرده اید باید به نرم افزار بگویید که به چه حل کننده ای (cplex, lingo, baron و…) باید حل بشود. یک مدل باید مشخص شود که از نوع بیشینه سازی است یا کمینه سازی. یک کاربر در صورتی که ویژگی های خواص، یا اطلاعات خواص نظیر مقدار بهینه ی فلان متغیر پس از حل مدل را بخواهد باید قبل از run کردن مدل، کد مربوط به این تغییرات را وارد محیط GAMS کند.

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

    در این بخش سه زیر مجموعه با نام های دستور solve، دستورات model،انتخاب نوع solver، سفرشی سازی خروجی مورد بحث قرار می گیرند که در صورت علاقه مند بودن، مخاطب می تواند به این بخش ها مراجعه نماید.

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

    با تشکر
    مدیریت سایت gamsbook.ir
    ایمیل: gamsbook.ir@gmail.com
    تلفن تماس: ۳۳۲۵-۴۰۵-۰۹۱۹

    17 دیدگاه در “دستورات نهایی مدل

    1. سلام . وقت بخیر . من یه برنامه نوشتم که خطاش برطرف شده اما خروجی رو همش صفر میده. چطور باید بفهمم کدوم خط برنامه مشکل داره؟ آیا برای این کار دستوری وجود داره ؟

    2. سلام دستتون درد نکنه . بسیار ممنون.
      یه سوال دیگه داشتم اینکه gamamin خروجی قسمت اول برنامه هستش اگه بخوام اون رو به صورت ورودی برای قسمت دوم برنامه تعریف کنم باید از چه دستوری استفاده کنم؟؟

    3. یه سوالی برام پیش اومده .شما توی برنامه اسمی از testdataQ نیاوردین و فقط testdataG رو تعریف کردین . چطور برنامه هر دو ماتریس رو می شناسه ؟؟؟ و با اینکه من testdataQ رو از دایرکتری پاک می کنم ولی بازم testdataQ رو به عنوان ورودی می شناسه ….

    4. سلام
      یه کد تو گمز نوشتم که داده های خروجی مدل رو میبره به اکسل که در زیر این کد رو برتون مینویسم:

      execute_unload 'openshopScheduling.gdx'
      

      فقط نمیدونم چجوری اجراش کنم چون چیزی تو اکسل نمیاره، چجوری اجراش کنم و نتیجه رو تو اکسل ببینم
      با سپاس

    5. ببخشید اینجا O=my.xls باید O رو هم تعریف بکنیم اگه تعریف بکنیم چجوری باید این کار رو بکنیم یکی هم اینکه این قسمت چی هستش par=makespan rng=makespan!a1 par=QQ rng=QQ!a1 ؟؟؟ متوجه نشدم!

      • شما ادرس رو با my.xls بهش دادین. این QQ یه پارامتره و makespan هم همینطور. اینا رو میریزه تو اکسل برامون. اینا فقط مثاله و دستور ثابت نیستا.

    6. execute_unload "openshopScheduling.gdx"  Cmax, St, C, F, X, Y, Z, T, V ;
      

      این openshopScheduling اسم مدل من هستش و اینا هم متغیرها هستن میخام این متغیرهای خروجی رو تو اکسل نشون بده
      کلا اینو نوشتم :

      execute "GDXXRW.EXE openshopScheduling.gdx O=openshopScheduling.xls"  par=Cmax  rng=Cmax!a1  par=St rng=St!a1 ...
      

      با سپاس

      • لطفا فقط به همون گفتگویی که داشتیم ریپلای کنین! من نمیدونم چرا همش این رو باید تکرار کنم برا بچه ها.
        نمادها رو جاشون رو عوض نکنین.

        Execute 'GDXXRW.EXE    ---- ----'
        

    پاسخ دهید

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