infeasible solution. there are no superbasic variables

گاهی کابر با ارور infeasible solution. there are no superbasic variables مواجه می‌شود. در حالی که ممکن است مدلی که کاربر در گمز و یا DICOPT کد کرده است واقعا شدنی باشد. برای متوجه شدن این موضوع می‌توان مدل را با یک solver دیگر نیز حل کرد. اگر مدل با سالور ثانویه مانند baron قابل حل بود، پس یقیناً مشکل از dicopt بوده است. در غیر اینصورت واقعا مدل شما غیر شدنی است.
این خطا معمولاً وقتی رخ می‌دهد که سالور گمز روی dicopt تنظیم شده باشد. مانند هر سالور دیگری، این سالور نیز محدودیت‌هایی دارد، یکی از این محدودیت ها سقف تعریف شده اعداد بزرگ و یا تعداد متغیرهای superbasic هست. سوپربیسیک ها عمدتا به جوابهایی گفته می شود که در نقاط گوشه ای فضای شدنی نیستند.
راه حل:
اگر مدلتان MINLP است، به سالور اجازه دهید که مدل را به صورت RMINLP در نظر گیرد.
مدل را با چند solver دیگر حل کنید. اگر جواب داد که بهتر، در غیر اینصورت به احتمال زیاد واقعا مدل شما نشدنی هست و باید برای آن تدبیری بیاندیشید.
با option مربوط به superbasic یا LFMXNS, LFNSUP برای dicopt فضا را محدودتر کرده و مدل را دوباره ران کنید.
پیشنهاد گمزبوک:
تغییر سالور و به طور همزمان optcr=0 در صورت لزوم.

سربلند و آزاده باشید

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

 

42 دیدگاه

  1. سهیل

    سلام
    تشکر از سایت خوبتون
    با دستور solve میشه دو تا متغیر رو بهینه سازی کرد
    مثلا بگیم
    Solve model using mip maximizing a;
    Solve model using lp minimizing b
    Model شامل معادلات مشابه در هر دوتا دستور هست
    مرسی

  2. لیلا

    سلام و خسته نباشید.
    با اینکه مدل و کدهایم ظاهرا درست هستند اما مقدار گپ خیلی زیاد است.
    لطفا راهنمایی کنید.آیا برنامه ام ایراد دارد؟
    $set p 4
    $set m 2
    $set V 6
    $set f 8
    .
    .
    display zz.l, cap, h;

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

      1. لیلا

        ممنون. به چه ادرسی ارسال کنم؟
        توضیحاتش در چه مورد باشه؟
        محدودیتها رو به شکل ریاضی بنویسم و نوع مساله رو بگم؟

        1. سلام
          فایل گمز + اسامی و توضیحات اندیس ها و پارامتر ها و متغیر ها و اینکه تابع هدف و محدودیت ها چیو می خوان نشان بدهند.
          gamsbook@gmail.com

  3. لیلا

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

    1. محمودی

      سلام
      سوال اول: این مقدار برابر با متغیر کمکی دوگان نظیر متغیره ست.
      سوال دوم: در حالت کلی خیر

  4. لیلا

    با سلام
    بعد از حل گمز در خروجی آن بعد از بعضی معادلات در بخش equations نوشته infes.
    اما در قسمت model statistic نوشته Fixed MIP status(1): optimal. آیا حل مدل درست است یا خیر؟

  5. لیلا

    با سلام و خسته نباشید.
    در موقع وارد کردن ورودیهای گمز بعضی از انها را به صورت دستی ورد کردم. (به صورت جدول یا پارامتر). اما بعضی دیگر از ورودیها حاصل جمع یا حاصلضرب ورودیهایی بود که دستی وارد کردم. آیا باید این ورودیها را حتمابه صورت دستی وارد کنم یا به صورت عبارت ریاضی از سایر ورودیها هم میتوانم؟
    الان به صورت عبارت ریاضی وارد کردم و مدل را حل نمیکند و خطا میده. اسم مدل رو میگه the symbol shown has not been defined or assigned a wild shot…..

  6. لیلا

    با سلام و خسته نباشید.
    بعد از حل مساله گمز best possible میدهد اما این جواب اصلا شدنی نیست و خیلی کم است و به نظر غلط میرسد. طوری که با جوابی که گمز در ۱۰۰۰ ثانیه میدهد گپ زیادی دارد.
    آیا این best possible شدنی است؟

    1. محمودی

      سلام
      یعنی چی با جوابی که گمز در ۱۰۰۰ ثانیه می دهد گپش زیاده؟
      شدنیه احتمالا. خطوط اخر process window رو لطفا بذارین اینجا. ده خط اخر

      1. لیلا


        final solve: 17205
        best possible: 6955
        absolute gap: 10250
        relative gap: 0.59
        restarting execution
        reading solution for model....
        executing after solve : elapsed 16:41
        status: normal completion
        job gams.gms stop 4/6/14 12:15:00 elapsed 16:41

        این جواب best possible اصلا شدنی نیس.

        1. محمودی

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

  7. رضوان

    سلام، من سوالی در مورد ارور ۶۶ داشتم کجا باید سوالمو مطرح کنم؟ ممنون

    1. محمودی

      سلام
      در بخش خطاها هر جا که مایل بودید بپرسید.

  8. ناهید

    سلام
    برنامه من ران میشه و اعلام میکنه که بهینه حل شده ولی این رو جلوش مینویسه
    optimal solution: there are no superbasic variables
    منظور از این جملش چی هست
    ممنون میشم راهنمایی بفرامایید

    1. محمودی

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

  9. زیبا

    با سلام و خسته نباشید.
    من مدلم MINLP هست و بعد از ران مقدار تابع هدف ۰٫۰۰۰۰۰۰۰۰ رو به همراه ارورoptimal solution: there are no superbasic variables نشون میده. سالور را عوض کردم ، محدودیتها را یکی یکی ازاد کردم ولی هیچ تغییری در نتیجه نداره حتی با یک محدودیت. مدل با عدد رقم های داده شده حداقل یک جواب شدنی دارد و دستی امتحان شده ولی نتیجه در گمز ۰٫۰۰۰۰۰۰ برای تابع هدف و مقداد نگرفتن متغیرهای تصمیم است متاسفانه.
    ممنون میشم راهنمایی بفرمایید.

    1. محمودی

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

  10. آرش

    با سلام و خسته نباشید…
    یک قید بصورت زیر دارم و t هم از ۱ تا ۷ تعریف شده:
    (a2(t,tt,p)$(ord(t) eq ord(tt)+1).. xi(t,p)=e=xi(tt,p)+sum(v$mapw(t,p,v),xu(t,p,v))+S(t,p)-sum(v$mapv(t,p,v),xl(t,p,v))-D(t,p)-xs(tt,p;
    در نهایت با این مواجه میشم:
    Row ‘a2(2.1.3)’ infeasible,all entries implied bounds

    1. محمودی

      سلام
      با این اطلاعات نمیتونم خدمتتون کمکی بکنم.

  11. محمد

    با سلام و خسته نباشید
    من تو یک ک بهینه سازی با سالور snopt برای مدل nlp با خطای زیر مواجه میشم.
    the superbasics limit is too small
    چجوری میتونم رفع کنم؟ لظفا راهنمایی کنید
    ممنون
    بهینه سازی سناریو بنیان و برای ۲۴ ساعت هستش که تا ساعت ۱۶ ران میکنم بهینه میشه ولی وقتی ۱۷ ساعته میشه یا بالاتر این خطا رو میده
    سپاس فراوان

    1. محمودی

      سلام

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

      option intvarup=0;
      

      سالورهای دیگه هم تست کنین. سالوری مثل lindo و baron خیلی قوی هستن. همچنین در برخی از مدلهای خیلی غیر خطی با سایز بالا میتونین از سالور minos هم استفاده کنین.

  12. محمد

    خیلی ممنون از راهنمایی هایی که کردید.
    متاسفانه کدی که گفتین فکر کنم برای سالور snopt جواب نمیده چون کاری که گفتید رو انجام دادم و خطا داد.
    و الینکه لایسنسی که من برای گمز استفاده می کنم اجازه استفاده از سالور های baron و lindo رو نمیده. اگر لایسنسی دارید که اجازه استفاده از این سالور هارو میده لطف کنید بهم ایمیل کنید.
    خیلی ممنون و سپاس از وقتی که گذاشتید.

  13. محمد

    سلام دوباره
    یک سوال دیگه درباره بهینه سازی سناریو بنیان داشتم.
    خاستم ببینم در مسئله سناریو بنیان بعد از بهینه سازی چطوری میتونم ببینم که کدوم سناریو ها انتخاب شدن و کدومشون انتخاب نشدن؟

    1. محمودی

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

  14. سارا

    با سلام و تشکر فراوان
    من یک مدل غیر خطی دارم که توابع مثلثاتی داره پس از حل با سالور conoptجواب داره ولی از نوع intermediate infeasible هست آیا این جواب میتواند مورد قبول باشد؟ در ادبیات موضوع نوشته شده که ممکنه جواب feasible نباشد چون در این مدل دو متغیر در فرمولاسیون حتما باید مشخص باشد.

    1. محمودی

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

  15. سارا

    خیلی ممنون
    یعنی برای متغیر تابع هدف مقدار اولیه تعیین کنم
    مثلا OF.L=0

    1. محمودی

      نه فقط تابع هدف، بقیه متغیرها هم. سعی کنین منطقی باشه مقدار اولیه.
      اگه متغیرهای integer هم دارین. دستور زیر رو قبل از دستور solve وارد کنین. و نیاز هست گمزتون آپدیت باشه.

      option intvarup=0;
      
  16. محمد

    با سلام و خسته نباشید
    ببخشید من ی مدل در گمز نوشتم ارور نداره ولی مساله رو نشدنی میزنه. یا پیغام : (infeasible solution. reduced gradient less than tolerance**) یا پیغام infeasible solution. convergence too slow. the change in objective has less than 3.000e-12 for 20 consecutive iteration) رو میده. ممنون میشم راهنماییم کنید.

    1. محمودی

      سلام
      شما باید Model status و solver status رو چک کنین. اونجا وضعیت locally infeasible گزارش شده. این یعنی سالورتون به یه نقطه رسیده که نمیتونه بهبود بده جواب مدل رو و همون نشدنی مونده. شما میتونین سالور رو عوض کنین. یا نقطه شروع بذارین برای تعدادی از متغیرها. دقت هم بکنین که حدود هر متغیر رو اگه حدس بزنین و به عنوان کران به مدل اضافه کنین ممکنه جوابتون بهتر بشه.

  17. amir

    با سلام و خسته نباشید
    من یه مدل MINLP دارم جوابی که با استفاده از dicopt میگیرم نشدنی محلی هستش. وقتی داده ها رو تغییر میدهم هم باز جواب نشدنی محلی هستش با این تفاوت که به ازای یک مقدار، جواب نزدیک به مقدار موردنظره ولی باز نشدنی محلی است.
    سواب بنده این هستش ک نزدیک شدن جواب نهایی به مقدار مورد نظر ولو اینکه جواب نشدنی محلی باشه نشان میده که داریم به جواب نهایی شدنی میرسیم؟

    1. محمودی

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

  18. معصومه

    سلا م من یک مدل شبکه دارم که زمان run در فایل lst این پیغام رو میده
    ** Warning ** The variance of the derivatives in the initial
    point is large (= 12. ). A better initial
    point, a better scaling, or better bounds on the
    variables will probably help the optimization.

    Optimal solution. There are no superbasic variables.
    در یکی از قیدهای مدل پوششی من تساوی دارد و متغیر s ندارد مانند حالتی که برای برای قیدهای مدل تراکم رخ میدهد ، هست
    ممنون میشم کمکم کنید که مشکل رو حل کنم

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