خروجی استاندارد

در این بخش به مطالعه ی فایل lst که همان خروجی مورد نظر اغلب کاربران می باشد، پرداخته می شود. مثال کاربردی ۱ را Run کنید.

پس از اتمام حل مدل فایل lst به طور خودکار باز خواهد شد. شکل زیر این امر را به نمایش می گذارد. این خروجی به دو بخش navigation window و listing file تقسیم می شود. Navigation window به عنوان یک لیست هوشمند عمل می کند که اگر روی یکی از ارکان آن دبل کلیک کنیم به آدرس مربوطه در listing file خواهیم رفت. دقت شود که lst فایل با editor های دیگر مانند notepad نیز قابل بازخوانی است. ولی در این صورت navigation window قابل مشاهده نیست. و برای مشاهده ی این لیست، تنها باید فایل lst را با GAMS باز کرد.

listing-file-navigation-window-example1

یک فایل lst شامل سه بخش کلیِ Compilation Output، Solve Statement Output، Execution Output و Error Reporting می باشد. هر کدام از این خروجی ها در ادامه به طور کامل تشریح خواهند شد.


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

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

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

 

درباره نویسنده

126 دیدگاه

  1. نگارا کیا

    یه سوال داشتم.که خیلی تو اینترنت در موردش سرچ کردم ولی چیزی دستگیرم نشد.
    وقتی مدلمو ران میکنم ارور نداره ولی یه هشدار میده که باعث میشه مدل بهم جواب نده.
    نمیدونم چیه و چجوری میشه برطرفش کرد.
    لایسنس هم زدم ولی نشد.جلوی سالورم هم کلمهfull هستش.
    couenne:warning, tightened NLP is infeasible.
    reformolation findes model infeasible.
    برای حل مدلم از minlp استفاده کردم.
    و سالورم هم couenneبود. بقیه سالورها هم یا دمو بودن و یا minlp نداشتن.
    به انگلیسی سرچ کردم اما چیزی دستگیرم نشد.
    ممنون

    1. محمودی

      سلام
      اول اینکه شاید لایسنس عمل نکرده. شما یک بار uninstal کنید و دوباره بعدش نصب کنین و بعدش لایسنس.
      دوم اینکه کلمه ی infeasible نشون میده که مدل شما نشدنی هست. و ممکنه محدودیت ها با هم تناقض داشته باشن.

  2. کیانا

    با عرض سلام و خسته نباشید.
    مدلم رو که اجرا میکنم جواب میده و به صورت دستی هم که حل میکنم جوابش درسته ولی absolute gap اون که نشان دهنده global بودن جواب هستش صفر نیست و تک تک معادلات و روابط رو هم چک کردم بنظر همه چیز درسته. میتونید راهنماییم کنید که مشکل چی ممکنه باشه با absolute gap=1.00000002722922E-9 و چون مدلم غیرخطی بود با سلور بارون حل کردم.
    ممنون

    1. محمودی

      سلام
      این مقدار gap یعنی تقریبا صفر. چون عدد خیلی خیلی کوچیکی هست. و چون مدلتون غیر خطی هم هست پس منطقی هست که دقیق صفر نشود.

      موفق باشید

  3. کیانا

    سلام و خیلی خیلی ممنون از پاسخ دهی سریعتون.
    یعنی به نظر شما مدل و کدی که اجرا کردم درست هستش ونیازی به اصلاح نداره. به این دلیل دوباره سوال می پرسم که مطمئن باشم که جوابم درسته و تحلیل نتایجش رو انجام بدم.
    مرسی

  4. زهره

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

      1. مهسا

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

        1. مهسا

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

        2. محمودی

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

        3. مهسا

          بابت ارسال فایل خیلی خیلی ممنون.عالی بود.

        4. محسن

          سلام اقای محمودی.ببخشید میشه لطفا آموزش خروجی از گمز به اکسل رو برام بفرستید

        5. مریم

          salam mishe lotf konin in filo baraye man ham email konin

        6. محمودی

          سلام
          ارسال شد.
          ببینید برای خروجی گرفتن لازمه مقداری هم gdx بلد باشین. حالا فایلی که فرستادمو چک کنین.

        7. صادق

          اگر برای بنده هم ارسال کنید سپاسگزار خواهم بود …

    1. mahtab\

      سلام میشه لطفا فایل خروجی از گمز به excell را برای من هم بفرستید .

        1. akbar sattari

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

        2. محمودی

          سلام
          این کد رو به آخر کدتون اضافه کنین. یکم بهش دقت کنین.

          execute_unload "outGDX.gdx"
          execute 'gdxxrw.exe outGDX.gdx o=outGDX.xlsx par=teta rng=teta!A1 par=lambda1 rng=lambda1!A1 par=xhat rng=xhat!A1 par=yhat rng=yhat!A1'

          بعد یه فایل اکسل با اسمی که تو کد بالا نشون داده شده توی دایرکتوری تولید میشه. اون رو ببینید. تتا و لاندا و ... پارامتر هستن اینجا. شما اگه متغیر دارین به جای par بزنین var

  5. مهدی

    سلام
    من یک مدل نسبتا پیچیده از نوع MINLP رو کد کردم و از دو سالور Bonmin و couenne که لایستسش رو داشتم، برای حلش استفاده کردم. برای سایز کوچک مدل جواب میدن. ولی سایز مسئله که زیاد میشه خطاهای زیر رو تولید می کنن:
    Bonmin: the LP relaxation is infeasible or too expensive
    Couenne: tightened NLP is infeasible
    در مورد مدلم مطمئنم که موجه هست. می خواستم بپرسم که ممکنه خطای خود نرم افزار باشه؟

    1. محمودی

      سلام
      bonmin یک solverی هست که در برخی مسائل کم میاره! این Error به این معنی هست که bonmin نتونسته عمل relaxation رو همراه با متغیرهای پیوسته انجام بده و نتیجتاً اعلام کرده که نتوونستم حلش کنم.
      واسه پیام مربوط به couenne حدس میزنم که شما تعدادی پارامتر یا متغیر دارین که اعدادشون نزدیک به صفر هست (نه کاملا صفر) ولی این نرم افزار میاد رندشون میکنه واسه همین مسئله infeasible میشه.
      امیدوارم که جوابتون رو گرفته باشین.
      موفق و پیروز

  6. مهدی

    سلام.
    خیلی ممنون از راهنماییتون. سعی می کنم همه اعداد کوچک مدلم رو یا مقیاس مناسب تغییر بدم.
    یه سواله دیگه هم داشتم. لایسنس سایر سالورهای گمز رو چه طور میشه به دست آورد؟ می خواستم مدلم رو با سایر سالورهای MINLP امتحان کنم. شاید نتایج بهتری به دست بیارم؟

    1. محمودی

      سلام
      خواهش میکنم.
      یه لایسنس رو می تونین اینجا دانلود کنین.
      ممکنه، DICOPT و Baron هم خیلی قوی هستن. از این دو تا هم استفاده کنین.

    2. azade

      salam misheto hal masaei minlp komakam konin man mikham ba matlab anjamesh bedam ama na algoritm na chizi nadaram

      1. محمودی

        سلام
        حل دقیق میخواین، با گمز کد کنین
        الگوریتم میخواین، باید متلب رو یاد بگیرین و الگوریتم رو. یا اینکه بدین براتون انجام بدن.
        هر دوی اینا رو بچه های ما انجام میدن

  7. مهدی

    خیلی ممنون از جواب های خوب و سریعتون.
    اگه اشتباه نکنم، سالورهای DICOPT و BARON تو این لایسنس demo هستند. می خواستم لطفا اگه لایسنس دیگه ای هم وجود داره، معرفی کنید. اگر نه که بازم ممنون از راهنمایی هاتون.

    1. محمودی

      سلام
      خواهش میکنم.
      این لایسنس هم وجود داره. بگردین بازم هست. این دومیه واسه نسخه ی ۲۳٫۳ خیلی خوب جواب میده.
      موفق باشین

  8. مهدی

    سلام
    خیلی ممنون به خاطر لایسنس ها و وب سایت خوبتون.
    یه مشکلی با DICOPT پیدا کردم که سرچ می کنم، نمی تونم حلش کنم:
    DICOPT : stopped prematurely because of solver failure. the listing file will contain additional logs from the NLP and MIP solvers which may reveal what was the cause of the failure.
    اگه امکانش هست در این مورد هم راهنماییم کنید. ممنون.

    1. محمودی

      سلام
      فقط دو مورد به ذهنم میرسه.
      اول اینکه اگه دستور زیر رو نوشتین ورش دارین

      option optcr=0;

      دوم اینکه واریانس داده هاتون خیلی بالا باشه، مثلا اعدادتون همش بین صفر و یک هست ولی عدد M بزرگتون برابر صد میلیارد باشه!
      از سالورهای دیگه هم می تونین استفاده کنین. مثلا بارون
      موفق باشین

  9. مهدی

    خیلی ممنون.
    از مطالب عالی و پر کاربرد وب ساییتون هم خیلی تشکر می کنم.
    خیلی به رفع مشکلات کدنویسی مون کمک کرد.

    1. محمودی

      سلام
      ممنون از شما آقا مهدی
      خوشحالم که تونستیم کمکی بکنیم.
      سربلند باشین

  10. zahra

    سلام
    با تشکر از وب سایتتون
    من داخل برنامه ام یک معادله دارم که نزدیک صفرمشتق دوم نداره تکه چون قراره از حل کننده Bonmin استفاده کنم باید از این حالت مشتق ناپذیری خارج بشه برای رفع این مشتق ناپذیری اون را به سه بازه تقسیم می کند یک دلتا تعریف میکنه که برای بازه های بزرگتر از دلتا خود همین معادله، برای بازه های کوچکتر از منفی دلتا منفی همین معادله و برای بازه های بین منفی دلتا و دلتا یک چند جمله ای به جای اون تعریف میکنه، این تعریف سه بخشی مسئله روی متغیر مسئله است یعنی x>delta و… این رو چجوری تو گمز مدل کنم ؟

    1. محمودی

      سلام
      بهترین راهی که به ذهنم میرسه اینه که شما یه متغیر صفر و یک دیگه هم تعریف کنین و همه اینایی رو که گفتین به سه چهارتا محدودیت تبدیل کنین.
      یعنی محدودیت شرط رو برسونه. تو بخش معادلات کامنتا رو بخونین. مطالب مفیدی رو دوستان مطرح کردن

  11. زهرا

    سلام
    با تشکر از مطالبتون
    من داخل کدنویسیم یک معادله دارم که نزدیک صفر مشتق دوم ندارد و چون میخوام از حل کننده Bonmin استفاده کنم باید این مشتق ناپذیریرفع بشه.برای رفع این مشتق ناپذیری یک دلتا تعریف میکنه برای x بزرگتر از دلتا خود معادله ،برای x کوچکتراز منفی دلتا منفی این معادله و برای بازه ی بین منفی دلتا و مثبت دلتا یک عبارت چند جمله ای ازx را مچ می کنه ،x متغیر مسئله است میخواستم کمکم کنید که این را با چه دستوری مدل کنم .

  12. مهدی

    سلام
    می خواستم بپرسم که جواب best possible که در خروجی سالورهای گمز وجود دارد، دقیقا چه چیزی را بیان می کند؟
    من مدلم را در حدود ۱۲ ساعت ران می کنم، بعد از این مدت، bonmin هیچ جواب موجهی برای آن پیدا نمی کند ولی best possible را اعلام می کند. با توجه به این که متغیرهای من عدد صحیح هستند، آیا best possibe جواب غیرصحیح است؟

    با تشکر فراوان

  13. n.z.

    با سلام و احترام
    یک سوال خیلی مهم و فوری دارم. یک پارامتر در قسمت display نوشتم که مقدار نهایی آن را نمایش دهد اما گمز آن را به صورت کامل نشان نمی دهد و به این صورت ۲٫۵۶۹۳۹۸E+8 جواب ظاهر می شود. آیا راهی وجود دارد که این پارامتر به صورت کامل مثلا به صورت ۲۵۶۹۳۹۸۵۳ نمایش داده شود.
    با سپاس فراوان

    1. محمودی

      سلام
      شما باید از option زیر استفده کنین:

      Option decimals=n;

      موفق باشین

  14. fatemeh

    سلام

    من مدلمو حل که میکنم جواب رو ۱۲۲ درمیاره و حدس میزنه جواب ۱۱۰ باشه در واقع گپش حدود ۰٫۰۹۹ هست

    میخام که جواب بهینه رو به دست بیارم برای همین، زمان حلو بیشتر میکنم مثلا ۱۰۰۰۰ثانیه کردم ولی گمز تا یک و نیم ساعت بیشتر نمیره و جواب رو همون ۱۲۲ درمیاره
    به نظرتون مشکل از چیه؟

    البته من الگوریتم براش نوشتم جواب رو ۱۱۳ درمیاره

    باتشکر فراوان

    1. محمودی

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

      Option reslim=10000;
      Option optcr=0;

      موفق باشین

  15. محسن

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

  16. فاطمه

    سلام

    خیلی ممنون از سایت خوبتون

    ببخشید چه جوری میتونم جوابهای (خروجی) گمز رو سیو کنم؟….مرسی

    1. محمودی

      سلام
      اول display رو بزنین. و کپی کنین تو فایل تکست. یا کپی کنین تو اکسل. یا کد gms2xls رو یاد بگیرین و خودکار که مسئله حل شد جوابا خودشون برن تو ادرس اکسلی که بهش دادین. و سایر روشها

  17. محسن

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

  18. Fatemeh

    سلام

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

    1. محمودی

      سلام
      به ابتکار خودتونه. شما یه Loop بزنید، که تو اون لوپه دستور solve هم شامل بشه. بعد هر بار که هدف حل میشه، مقدارش رو تو ی پارامتر دیگه ذخیره میکنه. مثلا فرض کنید alpha قراره تغییر کنه و s تا سناریو برای تغییرش دارین. یه مثال میتونه مث کد زیر باشه:

      loop(s,
      alpha1=alpha(s);
      solve tavakoli using mip maximizing z;
      z1(s)=z.l;);

  19. بهمن

    سلام جناب محمودی
    وقت بخیر
    gap مجاز برای minlp چقدر هست؟
    البته مدلم چند هدفه هست که با توابع سازگار حل می کنم

      1. بهمن

        شاید بد بیان کردم،منظورم این هست که تا چه حدی قابل قبول هست
        مثلا gap مدلم
        ۰٫۰۰۴۴۰۳۷۳۰۰۰۰۳۷۶۵۳
        هست وچقد روی جوابم تاثیر میگذاره؟؟ و میتونم خروجی مدلم را بهترین جواب فرض کنم؟؟؟

        1. محمودی

          این گپی که گفتین نسبتاً گپ پایینی هست. بد نیست. این گپ شما میتونه بهتر بشه، اگه زمان توقف گمز رو بالا ببرین و optcr رو برابر صفر در نظر بگیرین.گپ معمولا قانون خواصی نداره که چقدش خوب باشه ولی معمولا گپ های زیر ده درصد در نظر گرفته میشن. بالاترش هم دیدم گذارش بدن

  20. Fatemeh

    سلام

    خیلی ممنون از پاسخگویی و سایت خوبتون

    من میخاستم توی خروجی گمز، مجموع یکی از متغیرها را به من بده و دیگه لازم نباشه که من جمع اون متغیرو حساب کنم..اومدم مجموع رو به عنوان یه متغیر تعریف کردم و یه محدودیت براش نوشتیم که این مجموع رو حساب میکرد و داخل متغیر تعریفی میریخت …میخواستم بدونم راه دیگه ای برای انجام این کار هست؟ چون فکر میکنم اضافه کردن محدودیت روی زمان حل تاثیر بذاره.
    باتشکر

    1. محمودی

      سلام
      بله زمان رو میبره بالا.
      فرض کنین x(i) متغیر شما باشه. و میخواین مجموعش رو بعد بهینه شدن مدل به دست بیارین. برای اینکار بعد از دستور solve بیاین یه پارامتر به اسم xx تعریف کنید. بعدش قراره مجموع x رو بریزیم تو xx . اینو اینجوری مینویسیم:

      solve.....;
      parameter xx;
      xx=sum(i,x.L(i));
      display xx;

      برای اطلاعات بیشتر به بخش متغیرها مراجعه کنید.

  21. masih

    سلام
    ممنون از سایت خوبتون
    مدل من یه مدل mip هستش و روی مثال کوچک چک شده و به جواب درست رسیده حالا که روی یه مثال بزرگ رانش کردم بعد از حدودا ۱۶ دقیقه بدون رسیدن به جواب این پیام و میده ..ممنون میشم راهنمایی کنید
    MIP status(108):time limit exceeded,no integer solution.cplex error:no integer solution found.resource limit exceeded,no interger solution found.status:normal completion

    1. محمودی

      سلام
      مرسی و خواهش میکنم.
      شرط توقف گمز به صورت پیشفرض تو زمان ۱۶ دقیقه، یا هزار ثانیه هست. و تو این زمان به هر جوابی برسه اعلام میکنه.
      برا افزایش زمان توقف گمز کد زیر رو قبل از دستور solve بنویسین.

      option reslim=2000;

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

  22. محبوبه

    سلام میشه اون فایل خروجی گمز به اکسل را برایم ایمیل کنید ممنون

  23. پناهی

    سلام
    ببخشید یه سوال داشتم

    امکان داره که گمز تو ابعاد پایین جواب درستی بده. اما تو ابعاد جواب نشدنی باشه؟

    باتشکر

    1. محمودی

      سلام
      خیر.
      اگه مدل درست باشه خیر.
      اگه نشدنی بشه، یعنی یه تناقضی وجود داره. مگه اینکه جواب سالور unbounded باشه که تو process window ذکر میشه

  24. شریعت

    سلام
    یک برنامه غیر خطی رو ران میکنم تمام جواب ها رو صفر میده
    علت چیه؟

    1. محمودی

      سلام
      احتمالا نشدنی یا بیکران هست مدل شما. ببینید تو process window چی گفته

      1. شریعت

        نوشته ممکنه مدل نشدنی باشه
        در اینصورت باید چطور اصلاحش کنم؟

        1. محمودی

          تغییر داده، تغییر مدل، حتی شاید تغییر سالور!

  25. علی

    با سلام
    لطفا فایل مثالی که در اون خروجی گمس به اکسل فرستاده میشه رو یه جایی آپلود کنید و لینکش رو قرار بدید. (تا دوستان دیگه هم استفاده کنن)
    یا اینکه ایمیل کنیدممنون

  26. مهلا

    سلام. چطور میتونیم بفهمیم مدت زمان ران چقدر بوده؟ یه جا شما گفتید execution time ولی این عدد برای زمان ران درست نیست. مثلا مدل ۱ ساعت طول کشیده تا ران شه ولی execution time 0.031 شده. ممنون میشم راهنمایی کنید.

    1. محمودی

      سلام
      این کد رو اضافه کنین بعد دستور سالو

      display modelname.resusd;

  27. مهدی

    اقا سلام بسیار لنگ هستم
    چطور میتونم مقدادیری ک مقدار صفر میگیره در گمز رو تو خروجی بجای فضای خالی ..همون مقدار صفر واردش بشه
    چون میخام بریزم تو مطلب. اونجا ی فضا خالی ایجاد میشه کل ماتریس بهم میخوره..
    ممنون میشم زود کمکم کنید
    مثلا pi خروجیاهاش بترتیب ۱ ۲ ۳ ۰ ۵ هستش…این صفرو نشون نمیده و گپ هستش….وقتی میفرستم مطبل ۵ جا صفرو میگیره… چکار کنم تو گمز همون صفر نشون بده.
    ممنون

  28. احمد

    سلام
    ممنون از سایت خوبتون
    میشه کد خروجی گمز به اکسل رو اینجا بزارید
    فک کنم خیلیا بهش نیاز دارن، منم همینطور
    باتشکر

      1. احمد

        ممنون از لطفتون
        مگه بعد از ران نباید خودش جوابا رو به اکسل ببره؟!!
        نشد که
        در هر صورت لطف کردید

        1. محمودی

          خواهش میکنم.
          میبره. شما تو بخش documents/gamsdir/projdir یه فایل results که پسوند اکسل داره رو می تونین ببینین. اونجا دو تا شیت گذاشته

      2. جواد

        سلام. به یک مشکلی برخوردم. وقتی مدل را ران می کنم بدون غلط ران میشه ولی جواب نمیده. وقتی از تعداد ارقام اطلاعاتم یک رقم کم می کنم جواب میده. ارقام حداکثر ۷ رقم هستن. باید چیکار کنم؟ ممنون

        1. محمودی

          سلام
          والا من چیزی نفهمیدم. فضایی توضیحاتتو مقداری گنگ بود. پس مقداری بهتری مطرح بفرمایین. مرسی

        2. جواد

          یک کد گمز برای تابع سه هدفه نوشتم و وقتی اجرا می کنم جواب نمی ده. ایرادی هم نمی گیره. وقتی از داده های کد که به صورت table تعریف کردم یک رقم کم می کنم جواب میده. کد گمز رو به ادرس ایمیلی که در سایت قرار دادید (Support@gamsbook.ir)فرستادم.از چند ورژن که در همین سایت شما هست هم استفاده کردم.لطفا بررسی کنید.از هرکس پرسیدم دلیلش رو نمیدونه. ممنون

        3. محمودی

          سلام
          شما باید داده ها رو چک کنین. زوری که نمیشه جواب به دست اورد. شما تقسیم بر صفر دارین تو مدلتون. یه مقدار کوچیک به مخرج اضافه کنین که رفع بشه این ارور. مث ۰٫۰۰۰۰۱

  29. محمد

    سلام.
    میشه بگید که در کجای خروجی گمز می تونم تعداد محدودیت ها، تعداد متغیرهای باینری، پیوسته و … رو ببینم؟

    1. محمودی

      سلام
      تو پنجره process window (اون کوچیکه) می تونین این اطلاعات رو ببینین. دقیقا یک خط بعد اونجایی که مثلا میگه generating minlp model YOURMODELNAME
      همچنین شما تو listing file میتونین تو بخش model statistics این اطلاعات رو مشاهده کنین. تاپیک زیر هم میتونه براتون مفید باشه.
      model statistics در گمز

      1. محمد

        سلام
        در بخش آماری که در خروجی اومده، تعداد single equation,single variables,discrete variable, blocks of equation,blocks of variables,nonzero elements رو داده. متغیرهای باینری کدوم یکی از این اطلاعات هست؟ میشه توضیح بدهید مفهوم هرکدومشون دقیقا چیه
        با تشکر.

  30. shim

    در قسمت گمز کدام قسمت را باید مشاهده کنیم ؟
    lower level upper marginal

  31. جهان

    سلام
    مدلی نوشتم که خطا نمی ده ولی خروجی display رو هم نشون نمی ده.
    در واقع فقط این بخشها رو داره:
    compilation
    equation listing
    equation
    column listing
    column
    model statistics
    آیا امکان داره مشکل از نرم افزار یا سالورش باشه؟ کدوم قسمت خروجی رو باید ببینم که بفهمم مشکل از کجاست؟
    ممنون می شم راهنماییم کنید.

  32. بهناز

    سلام. چند تا سوال دارم.
    از نظر تئوری چطور عبارت option optcr=0;
    شکاف دوگانی رو به صفر می رسونه؟

    آیا تغییر سالور نقشی در تغییر شکاف دوگانی داره؟

    چه روشهای دیگه ای برای کاهش شکاف دوگانی وجود داره؟

    1. محمودی

      سلام
      ببینید این سوال خیلی عمیق تر از اون چیزی هست که من الان بخوام جواب بدم. یه راهنمایی اولیه میکنم، بعدش باید یه سری قضیه مطالعه کنین و مقداری در مورد لغات و عباراتی که به کار میبرم تو همین سایت یا منابع مختلف جستجو کنین.
      اگه مسئله شما فضا و هدف محدبی داشته باشه، اونوقت میتونین با احتمال قوی بگین که بله، شکاف یا گپ صفر میشه. چون تو این حالت دوگانی قوی رخ میده. اگه محدب هم نباشه شاید باز شرایط کافی دوگان قوی رخ بده که باز شانس شما بالا میره. با optionی که گفتین ممکنه سالور موفق بشه به جواب سراسری برسه و درصورتی که توی دوگان هم موفق باشه، پس این آپشن برای کاهش شکاف دوگانی موفق بوده. بعضی سالور ها نمیتونن گپ رو دقیقا صفر کنن، برا بعضی مسائل با سایز بالا هم ممکن نیست. پس اطمینانی نیست که سالور ها نتیجه خوبی که شما مد نظر دارین رو بهتون بدن. ولی میشه کاهش داد. رازش اینه که شما ساختار مدلتون رو مسلط باشین، سالور رو بشناسین، و تعدادی آپشن که باعث میشه سالور جواب بهتری رو بده رو استفاده کنین.
      این سوال شما دانش ریاضی و کدینگ قوی ای می طلبه که باید خیلی مطالعه کنین اگه حیاتیه براتون.

  33. جواد

    سلام. به یک مشکلی برخوردم. وقتی مدل را ران می کنم بدون غلط ران میشه ولی جواب نمیده. وقتی از تعداد ارقام اطلاعاتم یک رقم کم می کنم جواب میده. ارقام حداکثر ۷ رقم هستن. باید چیکار کنم؟ ممنون

    1. محمودی

      سلام
      اعداد در چه حد هستن و نوع مسئله شما از چه نوع هست؟ متغیر عدد صحیح دارید؟

  34. میلاد

    سلام
    من از دستوری که برای خروجی گرفتن گمز در اکسل دادین استفاده کردم
    برای گرفتن خروجی پارامتر مشکلی نبود ولی وقتی خروجی متغیرهامو میخواستم فقط یک شیت با اسم اون متغیر در اکسل ایجاد میشه و داده ها داده نمیشه ممنون میشم راهنماییم کنید.

    1. محمودی

      سلام
      اون متغیر احتمالا جوابی نگرفته. یا مثلا صفر شده همه جا

        1. محمودی

          پس لطفا کد رو یا ایمیل سایت ارسال بفرمایین. ببینم مشکلش چیه.

        2. میلاد

          با تشکر
          مشکل حل شد.
          ممنون از پاسخگویی و سایت مفیدتون.

  35. امیرحسین

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

    1. محمودی

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

  36. هانیه

    سلام وقتتتون بخیر.سوالی داشتم راجع به فراخوانی داده از اکسل به گمز .ممنون میشم پاسخ دهید.
    من میخاستم یه سری داده که به صورت جدول در اکسل دارم وارد گمز کنم مثالا این جدول رو
    ۳ ۲ ۱ ماتریس فاصله
    ۳ ۱ ۰ ۱
    ۲ ۰ ۳ ۲
    ۰ ۲ ۳ ۳
    یعنی اگر جدولم به صورت فوق باشه .الان دستورش چیه که اون سطر وستون که لیبل جدول هست رو به صورت عدد در نظر نگیره ولی وارد کنه اخه در دستورات بعدی لازم دارم که بدونه مثلا فاصله گره یک تا ۳ چه مقدار هست.

    1. محمودی

      سلام
      لیبل ها رو نمیگیره. کافیه تو دستور gdxی که دارین استفاده میکنین بگین که rdim=1 و cdim=1

  37. miss m

    سلام.خسته نباشید.ببخشید توی خروجی برنامه MB که مینویسه یعنی چه؟؟
    EXECUTION TIME = 0.000 SECONDS 3 MB 24.1.3 r41464 WEX-WEI

    GENERATION TIME = 0.016 SECONDS 4 MB 24.1.3 r41464 WEX-WEI

    EXECUTION TIME = 0.016 SECONDS 4 MB 24.1.3 r41464 WEX-WE

  38. davood

    سلام،بعد ران کردن مدل هیچ اروری نمیده ولی تمام متغیرها و تابع هدف صفر شده چطوری بفهمم مشکل از کجاست؟مدل minlp هستش با couenne حل شده .با تشکر از سایت خوبتون تا حالا خیلی از مشکلامو حل کرده

    1. محمودی

      سلام
      ممنون و خواهش میکنم.
      شما اول باید process window رو چک کنین و ببینین چه پیامی داده. بعد تو بخش summary تو فایل lst نگاه کنین که solver status و model status چی رو نشون دادن.

  39. مهدی

    سلام
    وقت بخیر
    من میخواستم بدونم که برای مدل MILP وقتی در نهایت گمس یک مقدار Gap گزارش میده، این مقدار Gap فاصله بین چه جواب هایی رو نشون میده؟ مثلا فاصله بین جواب بدست آمده تا مقدار بهینه از مدل اصلی هست یا فاصله بین جواب بدست آمده تا مقدار بهینه از مدل MIP هست یا فاصله بین جواب بدست آمده تا یه حد پایین یا بالا هست و ….

    1. محمودی

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

  40. ساناز

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

    infeasible solution: reduced gradient less than tolerance.
    DICOPT: setting up first MIP
    DICOPT: relaxed NLP is infeasible
    

    چطوری می تونم جواب فیزیبل بگیرم؟ ایراد از چیه؟
    ممنون میشم راهنماییم کنید.

    1. محمودی

      سلام
      تازه اول دردسر شماست. از سایر سالورها هم استفاده کنین. شاید جواب دادن.
      اگه نشد، باید اولم مدل رو چک کنین، داده ها رو دقیق، و کد رو.
      اگه بازم مشکل داشت، همه محدودیت ها رو بردارین، و یکی یکی به مدل اضافه کنین و هر سری ران بگیرین. هر جا نشدنی شد، مجددا چک بکنین و تحلیل کنین دلایلش رو.

  41. ساناز

    ببخشید من یک سوال دیگه هم داشتم: یک پیام دیگه که در خروجی یک مثال دیگم میده به صورت زیر هستش:

    The search was stopped because the major iteration limit was reached. this limit can be reset with the dicopt option MAXCYCLES.
    

    من یک option itelim=1000 براش گذاشتم ولی همچنان همچین خطایی در خصوص قطع شدن فرآیند حل به خاطر محدودیت تکرار بهم میده. این MAXCYCLES چی هست؟ میشه به کد اضافه شه تا خروجی بگیرم؟

    1. محمودی

      سلام
      iterlim رو عدد بزرگی بزنین. مث یه میلیون!
      maxcycle هم یه option داره برای این سالور. اون هم عدد بالا تنظیم کنین.

  42. رضا

    سلام در روش ال پی متریک اگر مقدار تابع هدف نهایی مقدارش منفی شود، مفهوم خاصی دارد؟ امکانش هست منفی شود؟

    1. محمودی

      معمولا میان عبارت اختلاف توابع از بهینه تکی رو میذارن تو قدر مطلق ودر نهایت هم مثبت میشه حاصل جمعشون.

  43. بهنوش فروهی

    سلام خسته نباشید وقتی در گمز یک اندیس (مثلا اندیس i) می خواهیم تعریف کنیم که جزو مجموعه اعداد طبیعی هست و از یک تا n را شامل میشود چه طوری باید پیش ببریم ؟؟

  44. سارا

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

  45. سولماز

    سلام
    در هنگام خروجی گرفتن تو gdx برای یک متغییر مقدار مارجینال داده شده اما مقدار خودش خالی نشون داده شده یعنی این مقادیر صفر هستند؟
    Level Marginal
    t1 2
    t2 -16.73
    t3 -14.19
    t4 -12.34
    t5 -9.19
    t6 -5.9
    t7 -15.27

    1. محمودی

      سلام
      بله صفر شده. خواستین display هم بکنین. یا تو قسمت solvar هم ببینین مقادیر رو.

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