فرض کنید یک مدل بهینه سازی را در گمز کد نویسی کرده اید. ولی مشاهده می کنید که در process window پیامی تحت عنوان نشدنی بودن مسئله (infeasible) ملاحظه می کنید. مشکل ممکن است از کجا باشد؟ برای بر طرف کردن این مشکلات چه تدبیری می اندیشید؟
ضمناً مناسب تر است که کامنت های خود، که شامل کد می باشند، را یک بار در GAMS و یا Notepad کد نویسی کرده و سپس به عنوان کامنت ارسال کنید.
با تشکر
مدیریت سایت gamsbook.ir
ایمیل: Support@gamsbook.ir
شماره تماس: ۳۳۲۵-۴۰۵—۰۹۱۹
سلام و خسته نباشید
با توجه به توضیحاتی که در سایت هست بنظر من شاید مهمترین مساله در این است که یک یا چند محدودیت با هم در تضاد هستند و اولین کار اینه که محدودیت های تعریف شده بررسی بشن.
بعد اگر مشکلی نداشت ،سایز مساله بررسی بشه مثلا بیایم با سایز کوچکتری مساله را حل کنیم
و در نهایت شاید اگر حل کننده را تغییر بدیم ، مشکل نشدنی بودن حل شه.
سلام
به نظرم یکی از دلایل infeasible بودن مساله تضاد داده هایی است که وارد کرده ایم،علاوه بر بررسی محدودیت ها لازم است که داده ها را نیز بررسی کنیم و مقادیر آنها را تغییر دهیم.
سلام
بله دقیقا
یکی از موارد همین هست که متاسفاده بسیاری از دوستان درحالی که مدلشون درست هست ولی داده های اشتباهی دارن میزنن، شروع به تغییر ساختار مدل میکنن.
مرسی بابت پاسخ
با عرض سلام و ادب
آیا امکانش هست که مثلا یک if بنویسیم که در صورت infeasible شدن مسئله به ازای برخی متغیر ها ، یک قید را حذف و مسئله ار حل کند؟ سوال بنده اینه که عبارت if مربوطه رو باید چطور بنویسیم؟
۱٫ مدل کردن مسئله با تمامی قیود
۲٫ حل مدل فوق
۳٫ اگر (شرط) آنگاه (حذف یک قید و مدل کردن مسئله)
۴٫ حل مدل فوق
بجای کلمه ی (شرط) چه عبارتی باید بنویسم؟
سلام
فقط یک قید؟
بله فقط یک قید. البته حذف قید مورد سوال بنده نیست.
سوالم اینه که در عبارت شرط، چی بنویسم؟ بجای infeasible
if (infeasible) then … do
به جاش از modelstat استفاده کنین. ببینین چه Modelstatی براتون خوبه. سرچ بزنین تو سایت گمز modelstat
با سلام من مدلی رو حل میکنم با دیتا کم شدنی و با تا زیادتر نشدنی میشه مشکل از چیه؟
سلام
از هر چیزی میتونه باشه. یا داده اشتباه باشه. یا کد نویسی مشکل داشته باشه. با سالورهای مختلف هم تست کنین.
با سلام و تشکر از پاسخگویی شما.
من یک مدل غیرخطی دارم (یک تابع هدف از درجه ی ۲ متغیرها و قیدهای خطی). برای حل از سالور پیش فرض استفاده کردم. با بارون هم تست کردم، جواب نداد. میخواستم بدونم مشکل از کجاست؟ گزارش خروجی به این صورته
سلام
مدلتون نشدنی هست، علت یابی کنین.
سلام
وقتتون به خیر
میبخشید من وقتی مدلم رو ران میکنم Infeasible میشه و این رو مینویسه
row ‘Eq10(i1,t1)’infeasible , all entries at implied bounds
مشکل چیه؟
میشه یکمم درباره چک کردن داده های ورودی توضیح بدید؟ من دقیقا نمیدونم چطور باید این کارو انجام بدم
خیلی متشکرم از لطفتون
سلام
اول باید مدلتون رو کامل چک کنین (وقتی میگم چک کنین یعنی هم ار لحاظ مفهومی و هم از این لحاظ که باید با مقالات پایه تطبیقش بدین همه چی رو) وقتی که احساس کردین همه چی درسته، دنبال داده بگردین تو این مقالات، معمولا برای اکثر مدلها یک سری داده های استاندارد وجود داره و محققا ازشون استفاده میکنن. ببینید فرضا اگه داده ای هم نداشته باشین، یاید طبق مفهوم مدلتون داده تولید کنین، مثلا به ظرفیت مخزن عدد ۱۰۰ میدین، پس منطقیه که آبی که واردش میشه باید کمتر از ۱۰۰ باشه! یعنی عددا باید به هم بخونن. منطقی باشه همه چی. بارها و بارها بیاین این چیزا رو چک و مرور و اصلاح کنین.
مسئله میگه نشدنیه، پس باید کم کم محدودیتا رو به مدل اضافه کنین و هر سری تست کنین و نتیجه رو تحلیل کنین و ببینین کجا میگه نشدنیه و بیشتر تحلیل کنینو گیر بدین بهش.
سلام آقای محمودی بزرگوار
سوالم شاید مربوط به این صفحه نباشه. ی معادله توازن انرژی داریم که باید برای هر دقیقه بررسی بشه که توازن به هم نخوره. مشکلم تو نحوه تعریفشه. انرژی تو بازه اول یعنی t=1 , i=1 ، ( هر ده دقیقه i یکی اضافه میشه و هر شش بار اضافه شدن i به t یکی اضافه میشود و یک شبانه روز را در ۱۴۴ بار بررسی میکنه یعنی ۱۴۴=۲۴*۶ ) برابر است با انرژی تو بازه t=1 , i=0 که اولین مشکلم اینه که مجموعه i از ۱ تا ۶ تعریف شده. و مشکل دوم در ابتدای هر ساعته که باید به ساعت قبل ربطش بدهم. اینم معادله هستش:
Energy(t,i)=e=Energy(t,i-1)+ChargePower(t,i)*Interval-(1-Availability(t,i))*EVnumber*Driving;
(اون بالا اشتباهه تایپی بودش. منظورم اینه که معادله توازن انرژی باید هر ده دقیقه بررسی ….)
سلام
کوچیک شماییم.
سوال رو مطرح نفرمودین.
مشکلتون رو i=0 هست؟
سلام من یک مدل برنامه ریزی خطی ۵ هدفه دارم که با روش آرمانی تو گمز میخوام حلش کنم ولی ارور Problem is integer infeasible.
مشکل کار از کجاست؟
سلام
سعی کنید فیود را تک تک وارد مدل کنید
یعنی یکبار مدل را با قید ۱
یعنی یکبار مدل را با قید ۱ و ۲
یعنی یکبار مدل را با قید ۱ و ۲و ۳
حل کنید
دفت کنید هیچ کدی بدون داشتن ارور تولید نشده و نخواهد شد
این کار شما به عنوان برنامه نویس است که علت آن را پیدا و رفع کنید
موفق باشید
یعنی به چه صورت؟ من الان ۵ تا هدف دارم و ۲ تا محدودیت. و به ازا هر هدف هم یک ارمان دارم.یعنی ۵ تا ارمان. ارمان ها رو تک به تک وارد کنم؟ متوجه نشدم متاسفانه باید چه کنم.
قیود مساله را تک تک اعمال کنید و ببینید ایراد از چیست
ببخشید یه سوال دیگه هم داشتم. الان من همین مدل رو با روش lp metric ران کردم و جواب داد، ولی با روش آرمانی مشکل اینفیسیبل بودن داره
میشه گفت مشکل از دیتا ست ۱۰۰ درصد؟
سلام
به نظرم یک جای کار می لنگه! یا مدل و داده ها و کد مشکل داره، یا اینکه روش آرمانی که به کار بردین رو دقیق اجرا نکردین.
سلام
من مدلی نوشتم که بعد از ران عبارت زیرو میاره
** An equation is inconsistent with other equations in the
pre-triangular part of the model.
این ایراد معمولا وقتی پیش می آید که شما مثلا نوشته باشید
X>1
X<-۳ یا مثلا نوشته باشید x=2 در حالی که x باینریه باید معادلاتتون رو چک کنید
سلام و تشکر بابت سایت عالیتون
جناب دکتر من خیلی کم از بهینه سازی می دونم اما با این علم کم یک مقاله را با گمز شبیه سازی کردم. اما گمز میگه که نوع برنامه از نوع ناشدنی است. در کامنت های مختلف فرمودید که به احتمال زیاد با تغییر سالور اگر مشکل رفع نشد باید خود کدنویسی بررسی شود.
من تک تک معادلات را به مدل مربوطه میدادم و ران می کردم، تا اینکه فهمیدم ۵ تا معادله دارم که اینا اجازه شدنی بودم حل مسئله را نمی دهند. حال واقعا با این علم کم نمی دانم از کجا باید شروع به اصلاح و تغییر کنم .
ممنون میشم راهنمایی بفرمایید. خدا خیرتان دهد.
سلام
شما برای اینکه مسئلتون نشدنی نشه سه تا نکته رو باید رعایت کنین.
اول اینکه مدلسازیتون باید قوی باشه.
دوم اینکه کد نویسی رو خوب انجام بدین و داده های مناسب رو بهش بدین.
نکته سوم اینه که اینا رو بعد از هر بار ران کردن تکرار کنین. علت نشدنی بودن. علت جواب غیر منطقی دادن یا هر مشکل دیگه رو باید با تحلیل خروجی ها پیدا کنین. این دیگه دانش خیلی خاصی نمیخواد. باید بعد از هر بار ران کردن تحلیل کنین حروجی رو مشکلا رو سعی کنین رفع کنین.
مقاله پایه، اندیس ها، شرط ها، سیگماها، صور عمومی محدودیت ها و… همه رو دقت کنین.