گاهی کابر با ارور 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
شماره تماس: 3325-405–0919
با سلام
وقت بخیر
من یک مدل بندرز برای مساله ای رو در گمز نوشتم اما وقتی شروع به اجرا بر روی سرور می کند، disk پر می شود و در گمز خطای
solution aborteddue to resource limit
می دهد. لطفا راهنمایی کنید چطور کاری کنم که محاسبات اضافی کم بشه تا disk پر نشه.لازم بذکره که محدودیت زائدی هم ندارم.
سیستمی هم که اجرا میکنم مشخصاتش بالاست.
ram 100gig
cpu 32
HDD 2T
سلام و ادب
چقدر طول می کشه که این ارور رو بده؟ معمولا ارور ریسورس به معنی اتمام زمان هست
سلام
من با همین مشکل مواجه هستم ):
میشه بفرمایید منظورتون از جهت تابع هدف چیه؟
تابع هدف من سود اقتصادیه و فرم مشخصی داره!!
سلام
جهت تابع هدف یعنی max یا min
سلا م من یک مدل شبکه دارم که زمان 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 ندارد مانند حالتی که برای برای قیدهای مدل تراکم رخ میدهد ، هست
ممنون میشم کمکم کنید که مشکل رو حل کنم
سلام
model status and solver status برابر چند شدن؟
با سلام و خسته نباشید
من یه مدل MINLP دارم جوابی که با استفاده از dicopt میگیرم نشدنی محلی هستش. وقتی داده ها رو تغییر میدهم هم باز جواب نشدنی محلی هستش با این تفاوت که به ازای یک مقدار، جواب نزدیک به مقدار موردنظره ولی باز نشدنی محلی است.
سواب بنده این هستش ک نزدیک شدن جواب نهایی به مقدار مورد نظر ولو اینکه جواب نشدنی محلی باشه نشان میده که داریم به جواب نهایی شدنی میرسیم؟
سلام
اطمینانی نیست که جواب شدنی باشه. از سالورهای دیگه هم استفاده کنین. مثل لیندو و بارون
با سلام و خسته نباشید
ببخشید من ی مدل در گمز نوشتم ارور نداره ولی مساله رو نشدنی میزنه. یا پیغام : (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) رو میده. ممنون میشم راهنماییم کنید.
سلام
شما باید Model status و solver status رو چک کنین. اونجا وضعیت locally infeasible گزارش شده. این یعنی سالورتون به یه نقطه رسیده که نمیتونه بهبود بده جواب مدل رو و همون نشدنی مونده. شما میتونین سالور رو عوض کنین. یا نقطه شروع بذارین برای تعدادی از متغیرها. دقت هم بکنین که حدود هر متغیر رو اگه حدس بزنین و به عنوان کران به مدل اضافه کنین ممکنه جوابتون بهتر بشه.
خیلی ممنون
یعنی برای متغیر تابع هدف مقدار اولیه تعیین کنم
مثلا OF.L=0
نه فقط تابع هدف، بقیه متغیرها هم. سعی کنین منطقی باشه مقدار اولیه.
اگه متغیرهای integer هم دارین. دستور زیر رو قبل از دستور solve وارد کنین. و نیاز هست گمزتون آپدیت باشه.
با سلام و تشکر فراوان
من یک مدل غیر خطی دارم که توابع مثلثاتی داره پس از حل با سالور conoptجواب داره ولی از نوع intermediate infeasible هست آیا این جواب میتواند مورد قبول باشد؟ در ادبیات موضوع نوشته شده که ممکنه جواب feasible نباشد چون در این مدل دو متغیر در فرمولاسیون حتما باید مشخص باشد.
سلام
همه سالورای غیر خطی رو تست بکنین. شاید اونا جواب بهتری دادن. اگه نشد سعی کنین تقریبا یه جواب اولیه بهش بدین، شاید تونست از این بهینه محلی فرار کنه و بره به سمت بهینه جهانی.
این خاصیت مدلهای غیر خطی هست که ممکنه حل نشن، حل بشن ولی جواب محلی بدن، یا حل بهینه بدن. چاره ای نیست.
سلام دوباره
یک سوال دیگه درباره بهینه سازی سناریو بنیان داشتم.
خاستم ببینم در مسئله سناریو بنیان بعد از بهینه سازی چطوری میتونم ببینم که کدوم سناریو ها انتخاب شدن و کدومشون انتخاب نشدن؟
سلام
این بستگی به مدلسازی و روشی که برای پوشش سناریو ها استفاده میکنین داره. نمیشه بدون اطلاعات چیزی گفت.
خیلی ممنون از راهنمایی هایی که کردید.
متاسفانه کدی که گفتین فکر کنم برای سالور snopt جواب نمیده چون کاری که گفتید رو انجام دادم و خطا داد.
و الینکه لایسنسی که من برای گمز استفاده می کنم اجازه استفاده از سالور های baron و lindo رو نمیده. اگر لایسنسی دارید که اجازه استفاده از این سالور هارو میده لطف کنید بهم ایمیل کنید.
خیلی ممنون و سپاس از وقتی که گذاشتید.
سلام
لایسنس نرم افزار گمز
با سلام و خسته نباشید
من تو یک ک بهینه سازی با سالور snopt برای مدل nlp با خطای زیر مواجه میشم.
the superbasics limit is too small
چجوری میتونم رفع کنم؟ لظفا راهنمایی کنید
ممنون
بهینه سازی سناریو بنیان و برای 24 ساعت هستش که تا ساعت 16 ران میکنم بهینه میشه ولی وقتی 17 ساعته میشه یا بالاتر این خطا رو میده
سپاس فراوان
سلام
متغیر های سوپر بیسیک در مدل غیر خطی ظاهر میشن. حالا شما این ارور رو که دریافت کردین. به خاطر اینه که مدل شما یه مقدار حساسه و خودتون هم میدونیم که حل مدلهای غیر خطی مقدار سخته. الان گیری که داده گفته که چند تا از مدل چند تا از متغیرهای سوپر بیسیک شما با مشکل مواجه شدند. کاری که میتونین بکنین اینه که این مقدار از درجه غیر خطی بودن مدل کم کنین. مثلا این قسمت های غیر خطی را بیاین خطیش کنین. این یه راه. راه دیگه هم آپشنی هست که من اینجا براتون میذارم. این آپشن رو قبل از دستور سالو وارد کنین. این باعث میشه که یه سری از متغیرهایی که عدد صحیح هستند براشون هیچ حدی در نظر گرفته نشه یعنی از صفر تا بی نهایت بتونن عدد بگیرند ممکنه مشکل مدل شما از این باشه.
سالورهای دیگه هم تست کنین. سالوری مثل lindo و baron خیلی قوی هستن. همچنین در برخی از مدلهای خیلی غیر خطی با سایز بالا میتونین از سالور minos هم استفاده کنین.
با سلام و خسته نباشید…
یک قید بصورت زیر دارم و 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
سلام
با این اطلاعات نمیتونم خدمتتون کمکی بکنم.
با سلام و خسته نباشید.
من مدلم MINLP هست و بعد از ران مقدار تابع هدف 0.00000000 رو به همراه ارورoptimal solution: there are no superbasic variables نشون میده. سالور را عوض کردم ، محدودیتها را یکی یکی ازاد کردم ولی هیچ تغییری در نتیجه نداره حتی با یک محدودیت. مدل با عدد رقم های داده شده حداقل یک جواب شدنی دارد و دستی امتحان شده ولی نتیجه در گمز 0.000000 برای تابع هدف و مقداد نگرفتن متغیرهای تصمیم است متاسفانه.
ممنون میشم راهنمایی بفرمایید.
سلام
جهت تابع هدف رو چک کنین. شاید مشکل از اونجا باشه.
این حالت وقتی پیش میاد که مدلسازی شما درست نیست احتمالا. مثلا تابع هدف به محدودیها خیلی وابسته نیست.
سلام
برنامه من ران میشه و اعلام میکنه که بهینه حل شده ولی این رو جلوش مینویسه
optimal solution: there are no superbasic variables
منظور از این جملش چی هست
ممنون میشم راهنمایی بفرامایید
چیز خواصی نیست. این تو مدلای غیر خطی ظاهر میشه. میگه که متغیرهایی بیشتر از متغیرهای پایه عدد نگرفتن. مشکلی نداره
ممنون از پاسختون
خواهش میکنم
سلام، من سوالی در مورد ارور 66 داشتم کجا باید سوالمو مطرح کنم؟ ممنون
سلام
در بخش خطاها هر جا که مایل بودید بپرسید.
با سلام و خسته نباشید.
بعد از حل مساله گمز best possible میدهد اما این جواب اصلا شدنی نیست و خیلی کم است و به نظر غلط میرسد. طوری که با جوابی که گمز در 1000 ثانیه میدهد گپ زیادی دارد.
آیا این best possible شدنی است؟
سلام
یعنی چی با جوابی که گمز در 1000 ثانیه می دهد گپش زیاده؟
شدنیه احتمالا. خطوط اخر process window رو لطفا بذارین اینجا. ده خط اخر
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 اصلا شدنی نیس.
ببینید، طبق اون چیزی که به گمز دستور دادید، گمز رفته یه جواب شدنی پیدا کرده. و از نظر محدودیت ها مشکلی نداره. پس اگه با جوابش مشکل دارین، باید مدلتون رو اصلاح کنین، نه گمز رو. جواب گمز درسته.
با سلام و خسته نباشید.
در موقع وارد کردن ورودیهای گمز بعضی از انها را به صورت دستی ورد کردم. (به صورت جدول یا پارامتر). اما بعضی دیگر از ورودیها حاصل جمع یا حاصلضرب ورودیهایی بود که دستی وارد کردم. آیا باید این ورودیها را حتمابه صورت دستی وارد کنم یا به صورت عبارت ریاضی از سایر ورودیها هم میتوانم؟
الان به صورت عبارت ریاضی وارد کردم و مدل را حل نمیکند و خطا میده. اسم مدل رو میگه the symbol shown has not been defined or assigned a wild shot…..
سلام
خطا رو گزاشتیم تو سایت. مطالعه کنید
با سلام
بعد از حل گمز در خروجی آن بعد از بعضی معادلات در بخش equations نوشته infes.
اما در قسمت model statistic نوشته Fixed MIP status(1): optimal. آیا حل مدل درست است یا خیر؟
مشکلی نیست.
سلام.
وجود مقدار مارجینال برای یک متغیر چه معنایی دارد؟
اگر مقدار مارجینال خیلی زیاد باشد ایرادی دارد؟
سلام
سوال اول: این مقدار برابر با متغیر کمکی دوگان نظیر متغیره ست.
سوال دوم: در حالت کلی خیر
سلام و خسته نباشید.
با اینکه مدل و کدهایم ظاهرا درست هستند اما مقدار گپ خیلی زیاد است.
لطفا راهنمایی کنید.آیا برنامه ام ایراد دارد؟
$set p 4
$set m 2
$set V 6
$set f 8
.
.
display zz.l, cap, h;
سلام هیچ وقت کد را این چنین برای سایت نفرستید فایل گمز را برای سایت ارسال کنید. و توضیحات مدلتونو بدید.
ممنون. به چه ادرسی ارسال کنم؟
توضیحاتش در چه مورد باشه؟
محدودیتها رو به شکل ریاضی بنویسم و نوع مساله رو بگم؟
سلام
فایل گمز + اسامی و توضیحات اندیس ها و پارامتر ها و متغیر ها و اینکه تابع هدف و محدودیت ها چیو می خوان نشان بدهند.
gamsbook@gmail.com
سلام
تشکر از سایت خوبتون
با دستور solve میشه دو تا متغیر رو بهینه سازی کرد
مثلا بگیم
Solve model using mip maximizing a;
Solve model using lp minimizing b
Model شامل معادلات مشابه در هر دوتا دستور هست
مرسی
سلام بله میشه! فقط اسمهاشون باید یکی نباشه. model و model1 بزارین .