آخرین خروجی GAMS قبل از حل مدل، Model Statistics می باشد. این بخش حجم و بزرگی یک مدل، پیچیدگی آن و میزان غیر خطی بودن آن را مشخص می کند. این بخش برای مثال کاربردی 1 به شکل زیر می باشد:
در این بخش از lst file،
BLOCK تعداد محدودیت ها و متغیرهای به کار رفته در کد ورودی را معین می کند. مثلاً در این مثال ما 3 معادله (یک تابع هدف و دو محدودیت) و دو متغیر (x,z) داریم.
SINGLE تعداد محدودیت ها و متغیرهای بسط داده شده را نشان می دهد. به عنوان مثال، در مثال مورد بررسی ما، چهار متغیر z,x3,x2,x1 تحت عنوان SINGLE variable محسوب می شوند.
NON ZERO ELEMENTS تعداد ضرایب غیر صفر متغیر ها در تمامی معادلات را مشخص می کند. به عنوان مثال، ضریب x3 در محدودیت cont1(3) صفر می باشد پس جزو اجزای غیر صفر محسوب نمی شود.
طبیعتاً هر چه میزان غیرخطی بودن و پیچیده بودن یک مدل بیشتر باشد، حل آن نیز مشکل تر خواهد بود. بجز معیارهایی که مورد بحث قرار گرفت، چهار معیار دیگر نیز وجود دارند که ترکیب آنها میزان غیر خطی و پیچیدگی یک مدل را نشان می دهد. این معیارها عبارتند از:
NON LINEAR N-Z تعداد ضرایب غیر خطی موجود در معادلات معین می کند. و چون مدل مورد بررس ما یک مدل کاملاً خطی بوده و شامل ضریبی غیر خطی نیز نمی شود، این عدد صفر محاسبه شده است.
CODE LENGTH : معیار بالا تفاوتی بین میزان پیچیدگی xy و 2^x قائل نیست. برای این منظور، GAMS معیار CODE LENGTH را برای حل این مشکل در نظر می گیرد.
DERIVATIVE POOL و CONSTANT POOL نیز معیارهای جداگانه ی قیاسیِ دیگر، برای اندازه گیری میزان غیر خطی بودن مدل می باشند.
خدمت عزیزانی که آموزش گام به گام را از ابتدا همراه با ما شروع نموده اند توصیه می شود که پس از مطالعه و مرور این صفحه، جهت ادامه مراحل آموزش به بخش Solution Report، در نوار کناری سمت راست (منوی داینامیک دسته بندی) مراجعه نمایند.
با تشکر
مدیریت سایت gamsbook.ir
ایمیل: Support@gamsbook.ir
شماره تماس: 3325-405—0919
سلام وقت بخیر.
من یه مدل رو تو گمز زدم، وقتی ران میگیرم همه متغیرهامو صفر میده و توی مدل استاتوس میزنه infeasible، وقتی که محدودیتارو چک کردم فقط جلوی ۳ تا از محدودیتا نوشته شده infeasible. هر ۳ این محدودیتا محدودیتی هستند که مجموع متغیر برابر یک هستند.
امکانش هست که راهنمایی کنید که مشکل از کجا میتونه باشه؟
من توی گمز خیلی مبتدی هستم
محدودیت هاتون نشدنی هستن یا اشتباه وارد کردین یا هم که مسئلتون کلا نشدنیه
با سلام واحترام
مدلی دارم که یکی از محدودیتها بصورت حاصلضرب دومتغیر صحیح ومثبت است که این مورد باعث غیر خطی شدن مدل شده است. چگونه میتوان این محدودیت را خطی سازی کرد؟
(محدودیت):
sum(j,q(i,j) * x(j)) =l= K کهKپارامتر است واین محدودیت به ازا هر i برقراراست.
سلام
اگر میخواید کل محدودیت رو خطی کنید، باید x و q رو بر حسب جمع اعداد صفر و یک بنویسید. بعد ضرب متغیرهای صفر و یک در همدیگه رو خطی کنید (اینجا که فکر کنم مشکلی ندارید درسته؟)
این مستلزم تخمین جداکثر مقداری هست که هر کدوم از متغیرها به خودشون ممکنه بگیرن.
برای اینکه تعداد متغیرهای تعریف شده صفر و یک کم بشه، میتونید از رویکرد زیر استفاده کنید.
یعنی برای q هم همین رو انجام میدید.
یه راه دیگه برای کاهش تعداد این متغیرها استفاده از تبدیل یک متغیر عدد صحیح به جمع متغیرهای صفر و یک با استفاده از رویکرد لیبرمن هست. لیبرمن تو کتابش برای این مشکل راهکار ارائه داده.
سوالی بود در خدمتیم
با سلام و احترام
چگونه می توان یک تابع پله ایی را بعنوان ورودی در گمز گمز وارد کرد ؟ مثلا قیمت برق بصورت پله ایی با افزایش تولید برق افزایش می یابد؟ (تولید برق متغییر مستقل در مسئله هست ).
ممنونم
سلام
به این نوع توابع میگن تابع قطعه قطعه خطی یا تابع تخفیف. معمولا با تعریف متغیرهای صفر و یک قابل انجام هست. مثلا اگر تولید در این بازه بود، برابر یک میشه، اگه نه صفر. برا بقیه بازه ها هم همینطور
سلام ببخشید من مدلی که ساختم وقتی ران میگیرم غیرخطی هست چطوری میشه خطی سازیش کنم؟
سلام
بستگی به این داره که چجوری غیر خطی شده. ضرب؟ ضرب چیا؟ صفر و یک؟ مثبت؟ …
سلام
ببخشید من یه مدل خطی دارم model stateعدد ۱۴ است. علت ان چیست و چگونه میتونم برطرف کنم؟ ممنون میشم کمکم کنید.
سلام
من یک کد گمز زنجیره تامین رو در دو کامپیوتر متفاوت اجرا میکنم. ورژن و لایسنس گمز در هر دو کامپیوتر یکسان هستش.
در هر دو اجرا مدل لطور کامل و صحیح اجرا میشه ولی جواب ها متفاوت هستن.
علت چی می تونه باشه؟
سلام
احتمالا مدل شما غیر خطی هست. ای اتفاق ممکنه بیفته. ولی اگه تنظیمات درستی داشته باشین این حالت کمتر رخ خواهد داد. optcr, optca رو مساوی صفر قرار بدین. مجددا تلاش کنین. برای هر دو هم model status, solver status رو چک کنین.
سلام من یه کد نوشتم که در قسمتی از لوپی که تعریف کردم نیازی به حل ندارم ، در واقع فقط میخوام تابع هدف که نوشته شد و ضریب هر متغیر مشخص شد ، اگر ضریب اون متغیر مثبت بود اون متغیر مقدار 1 و در غیر این صورت مقدار صفر بگیره
راهی برای این کار هست؟
سلام
میتونین یه معادله به مدل اضافه کنین مشابه این:
برای ما که کشاورزی هستیم می گوید مقدار مصرف گندم برای خود کشاورز. یعنی علاوه بر سایر محدودیت ها باید یک محدودیت اضافه شود که مثلا گندم برای خود کشاورز 200 کیلو استفاده می شود.
فقط توضیحش مد نظر نبود، فرمولش هم باید می اوردین. معمولا تو این جور مفاهیم، یه محدودیت تعادل داریم که میگه مقدار مصرف به اضافه مقدار فروش به اضافه خود مصرفی برابر مقدار تولید هست. اینکه فرمودین چجوری در گمز وارد میشه متوجه نمیشم. چون فرمول رو باید بذاارین.
سلام
محدودیت خودمصرفی در گمز چگونه وارد می شود؟
ممنون
سلام
چی میگه این محدودیت؟
با سلام در اموزش گام به گام شما قسمت solution report در لیست شما نمیباشد خواهشا قرار بدین تا بتوانیم اموزش گام به گام را پیش ببریم
با تشکر از شما
سلام
متاسفانه حذف شده بود. مجددا انتشار یافت. تشکر بابت فیدبک شما
سلام. چرا برای من تا قسمت model statistics داره؟ 🙁
آخرین گزینه این صفحه ام همینه… قسمت مربوط به جوابها رو نداره 🙁
سلام
احتمالا لایسنس ندارین، اینجا رو بخونین.
سلام
وقتتون بخیر
من یه مدل غیرخطی رو با سالور DICOPT حل کردم. حالت سالور NORMAL COMPLETION هست ولی حالت مدل Locally infeasible !!
باید چیکار کرد؟ ممنون میشم راهنمایی کنید.
سلام
اینکه میگه Locally infeasible هست، دلایل مختلفی میتونه داشته باشه، ولی همشون این معنی رو میدن که دیکاپت وقتی داره جستجو میکنه، به یه نقطه ای رسیده که نمیتونه ازش فرار کنه و بره یه نقطه ی دیگه که شدنیه. و جواب رو نشدنی کرده. تو این جور حالتا افزودن یه نقطه آغازی برای متغیرها میتونه مفید باشه. مثلا مقدار اولیه یه متغیر به نام Q رو که مثبت هست بذارین 20 (مثلا قبل از دستور مدل این خط رو اضافه کنین: Q.L=20) دوباره مدل رو ران کنین و الی اخر. قبل از هر چیزی هم یه بار دیگه مدل و کد رو بررسی کنین که ببینین مشکلی هست یا خیر. با سالورهای دیگه هم مدل رو حل کنین. سالورهایی مثل لیندو و بارون قدرت جستجوی زیادی تو حل مسائل دارن و میشه ازشون کمک گرفت. اینجوری میشه متوجه شد که آیا اساسا مدل با این اطلاعات جواب داره یا خیر. یه راه دیگه هم که میتونه مفید باشه اینه که برای متغیرهای دخیل در مدل یه حد بالا و پایین در نظر بگیرین که دیکاپت الکی به نقاط دور از انتظار نره.
سلام این کد تو سایت گمز هست و من میخوام به عنوان کد کمکی برای روش e-constraint ازش استفاده کنم، متاسفانه بعضی از قسمتاش رو متوجه نشدم ممنون میشم کمکم کنید:
یکی این که بین دو تا علامت % تو خط ششم چیز دیگه ای باید نوشته بشه؟ % کجا استفاده میشه؟
و دیگری این که loop(k, put fx z.l(k):12:2); put /); خط یعنی چی؟ چه ادرسی باید بهش بدیم؟ به چه فایلی و کجا باید لینک بشه؟
باتشکر
چرا جدول pay-off رو صفر نشون میده؟؟!! باید چی کار کنم؟؟ کد run میشه اما همه چی صفره!
توی گمز راهی وجود داره که بفهمم کدوم محدودیت هام باعث جواب infeasible میشن؟
شما قبل از eps باید برین خود مدل رو تک هدفه چک کنین. یهویی که نمیشه رفت رو eps
شاید اصلا نشدنی باشه. یا شاید کلا فضای شدنیش یه نقطه باشه. باید دید اصن هدفا جواب میدن، نمیدن تغییر میکنن یا نه…
سلام
طبق سوالاتی که میپرسین ظاهرا اصولی از گمز رو کار نکردین. پس راه بهینه برای شما اینه:
کلا کدی که سایت گمز ارائه داده رو دست نزنین. فقط باید مدلتون رو توش اضافه کنین. کد اونا اشکالی توش نیست
به ایمیل سایت یه ایمیل بزنین که نسخه ای که خودمون نوشتیم رو براتون بفرستیم.
واقعاد ممنونم واسه پاسختون.
وقتی تک هدفه حل می کنم ارور infeasible میده، میدونم که به خاطر کدوم محدودیتم هست اما نمیتونم این محدودیت رو حذف کنم! مسئله م یه مسئله زنجیره تامین و میخوام هزینه و کمبود رو مینیمم کنم. محدودیتی که باعث Infeasiible شدن شده محدودیت تقاضا هست. و اگر این محدودیت حذف بشه خب هزینه منطقا صفر میشه!
به نظرتون باید چه کار کنم؟
خواهش میکنم.
خب تا رفع نکنین این مشکل رو نمیشه کار رو پیش برد.
مدل، مقاله پایه، شرطها، داده ها، سالور همه باید ریز ریز چک بشن و تحلیل و هر بار مدل ران بشه و باز تحلیل بشه. اول کارتونه تازه
سلام و وقت بخیر
من یه مدل دو هدفه دارم که میخوام براش جدول جبرانی بنویسم. ولی چون توی اهداف، متغیرهای تصمیم به هم ربطی ندارند (یعنی متغیرهایی که تو هدف اول هستند تو هدف دوم وجود ندارند) نمی دونم چجوری جدول جبرانی براش بنویسم. یعنی وقتی تابع هدف دوم رو در نظر نگیرم و بخوام بهترین جواب برای تابع هدف اول رو بدست بیارم، باید اون متغیر تصمیمی که توی هدف دوم داشتم و توی محدودیت هام ازش استفاده کردم رو چیکار کنم؟؟ چه عددی واسش بذارم؟
fisrtobjective min Z1=x1(i)+alpha*x2(j)+Q(i,j)*dem(t)*c
secondobjective min Z2=sum(t,IB(t)/dem(t))
خواهشا در صورت امکان کمک کنید
سلام
کد زیر ماتریس payoff رو بهتون میده. ازش اینده بگیرین. همینه کلیات کار شما هم.
سلام.من میخوام فایل گمز رو توی متلب فراخوانی کنم که برای مساله های کوچک مشکلی نیست ولی برای مساله های بزرگ ارور میدهو شما می دونید چجوری میشه ایم کار رو کرد که ارور نده؟؟؟
سلام
چه اروری میده؟
سلااااااااااااام خسته نباشید توروخداکسی هست بتونه کمکم کنه و بگه استادم از من چی میخواهد. فایل گمز را فرستادم خدمتشان پاسخ زیر را داده اند.
مدل پیاده شده در گمز صحیح و جواب تایید است. در خروجی به شما جدول payoff یا همان جبهه جواب پارتو را میدهد. اگر شما مقدار دقیق متغیرها برای هر یک از جوابهای مذکور را نیاز دارید، کافی است در یک فایل دیگر مقدار تابع هدف را در محدودیت برابر با مقدار بدست آمده بگذارید و با حل مدل تنها جواب متغیرها را بدست آورید.شما این کار را میتوانید برای دو جواب پارتو ایجاد شده به تفکیک انجام دهید.لازم به ذکر است که شما میبایست مدل تک هدفه را اجرا کنید. و توابع هدف را با مقدار مشخص به محدودیتها ببرید…..
میشه بفرمایید پیامشون یعنی چه؟؟یعنی باید چه کاری روی نرم افزار دقیق انجام بدهم.؟؟؟؟؟؟؟؟
سلام
مدلتون ظاهرا چند هدفه ست. چه روشی روش زدین؟ ماتریس payoff رو حساب کردین شما؟
سلام خسته نباشید. مرسی از اینکه پاسخ میدهید. بله مدل چند هدفه است از روش اپسیلون محدودیت حل نمودم…چگونه میشه ماتریس payoff را محاسبه نمود؟؟؟
ممنون میشوم کمکم نمایید.واقعا بهش نیاز دارم…
سلام
برای به دست اوردن ماتریس تبادل، اول یه هدف رو بهینه می کنین. مثلا z1 بعد هر جوابی که برای z1,z2 به دست اومد رو ثبت میکنین. تو مرحله بعد z2 رو بهینه میکنین و هر جوابی که براشون به دست اومد رو باز ثبت میکنین. بعد کمترین مقدار و بیشترین مقدار این دو رو تو یه ماتریس میریزین. این میشه ماتریس payoff
ولی الان که شما از روش اپسیلون استفاده میکنین، از کد آماده خود سایت گمز استفاده کنین و خودش ماتریس هم حساب میکنه. منطقی تر هست. چون دستی اذیت میشین که کد کنین.
سلام. من مدلم برنامه ریزی غیر خطی است و از minlp حی میکنم ولی حواب نشدنی میده.. هیچ کدوم از سالورهای دیگه هم حل نمیکنه… چکار باید بکنم؟
سلام
این تازه اول کار شماست. باید مدل، کد، داده ها رو چک کنین. سعی کنین که برای مدل از مقالات پایه ی معتبر استفاده کنین. برای داده ها هم سعی کنین یا دستی یه مثال طراحی کنین، یا اینکه تو منابع داده پیدا کنین. برای کد هم که مشخصه.
برای رفع این مشکل اولین کار اینه که شما یکی یکی محدودیت ها رو به مدل اضافه کنین و ران بگیرین. هر جا که نشدنی شد بشینین تحلیل کنین که چرا اینجوری شده.
سلام من بخش Solution reportرو پیدا نمیکنم و اینکه بعد از این مرحله بررسی جواب و حل مدل چی میشه من گام به گام پیش میرم و نیاز دارم به تکمیلش ممنونم
سلام
لایسنس دارین ؟
با سلام و تشکر از سایت خوبتون. می خواستم ببینم در پایان حل یک مسأله با گمز اگر اون مسأله جواب بهینه چندگانه داشته باشه آیا میشه متوجه شد ؟ اگر میشه، آیا میشه جواب های بهینه دیگری رو هم مشاهده کرد؟
سلام
برای اینکه این جوابا رو بدست بیارین روش خواصی داره که می تونید از منابع ای که انگلیسی هست استفاده کنید.
من دو راهش رو خدمتتون عرض میکنم. فرض کنیم مسئله شما کمینه سازی هست.
1- مثلا فرض کنین یه بار مدل رو ران کردین و جواب zstar برای تابع هدف به دست اومد. حالا محدودیت z<=zstar v رو به مسئله اضافه کنین. و مجددا z رو مینیمم کنین. احتمالا جوابای جدیدی برای متغیرها تولید میشه. دقت کنین که جواب هدف تغییری نمیکنه. متغیرهای دیگه باید تغییر کنن. اگه تغییر کردن که جواب چندگانه هست. 2- یه متغیر باینری مث x1 رو در نظر بگیرین. مثلا این تو بهینگی جوابش شده 1. حالا تو ران بعدی، x1 رو روی صفر فیکس کنین و مجددا ران بگیرین. اگه نشدنی نشد، جواب چندگانه داره.
سلام
با تشکر از سایت مفیدتون. من یک برنامه با گمز نوشتم که minlp هست. خطا نمیده اما جواب هم نمیده و جوابها رو به ازا هر محدودیت یک چیزی می نویسه مثلا:
balance1(1).. x(1) =G= 2.25 ; (LHS = 0, INFES = 2.25 ****)
balance1(2).. x(2) =G= 2.5 ; (LHS = 0, INFES = 2.5 ****)
balance1(3).. x(3) =G= 2.5 ; (LHS = 0, INFES = 2.5 ****)
REMAINING 5 ENTRIES SKIPPED
به نظر شما مشکل کجاست؟
سلام
ممنون.
مشکل چیه الان؟ متغیرها رو display کنید
سلام من مدل رو خطی کردم و با RMIP حل کردم اما باز هم به ازای بعضی از محدودیت ها نا موجهه و دوباره می نویسه
balance3(1).. y(1) =G= 5 ; (LHS = 0, INFES = 5 ****)
balance3(2).. y(2) =G= 4 ; (LHS = 0, INFES = 4 ****)
balance3(3).. y(3) =G= 3 ; (LHS = 0, INFES = 3 ****)
منظورتون از display کردن چیه؟ جوابها غیر منطقیه
دوست عزیز شما با این بخش کاری نداشته باشین تو مرحله اول. اول وضعیت یا status سالور رو نگاه کنید، گفته که نشدنیه؟ شدنی؟ این تو پنجره process window میاد. ببینید چه پیامی داده.
برا مشاهده کاربرد دستور display به اینجا مراجعه کنید.
سلام دوستان
من یه کد نوشتم که در مورد زنجیره تامین و تعداد تامین کنندگان است. اما جوابی که باید بده رو نمیده
totalCost .. Tcost =e= sum((i,j),(unitCost(i,j)+shipCost(i,j)+invCost(i,j))* x(i,j))+ sum(i,sum(j, F(i)));
capacityLim(i,j) .. x(i,j) =l= (capAvg(i,j) + (capSV(i,j) * 1.28))* v(i,j);
sumOne(j) .. sum(i, v(i,j)) =e= 1* y(j);
supplierGoal .. sum(j,y(j))=l=6;
باید تعداد تامین کنندگان رو کمتر از 6 عدد بده اما برای کل 10 تامین کننده بالقوه جواب رو بدست میاره. درواقع انگار دو خط آخر رو درنظر نمیگیره . حل می کنه.
با سلام و خسته نباشید و تشکر از سایت خوبتون
من میخام ورودی یک پارامتر و یک جدول از گمز بگیرم. و خروجی دو تا متغیر نمایش بدم توی متلب … همه ی کارای لازم را انجام دادم که تو فایلای مختلف کفته شده … اما توی متلب هم چنان ارور میده که تابع wgdx رو نمیشناسه
به نظرتون ایراد از چیه؟
ممنون
سلام
دایرکتوری گمز و متلب یکیه؟ یعنی فایلای گمز تو path متلب هستن؟ اینا رو چک کنین. و اینکه matlab رو با shortcut باز نکنین. ممکنه مشکل ایجاد کنه تو خوندن تعدادی از فایلها (البته اینو اگه با متلب کار کرده باشین مشکل ساده ای میدونین)
سلام برای پیدا کردن تعداد تکرار برای همگرایی الگوریتم در مساله بهینه سازی، چطور باید تعداد تکرار برای رسدن به جواب بهینه را در جوابها پیدا کرد. در جواب آمده
MIP Solution: 2.213271 (372 iterations, 0 nodes)
Final Solve: 2.213316 (87 iterations
یعنی در 87 امین تکرار بهینه شده؟ و اینکه برای کشیدن نمودار همگرایی الگوریتم باید به چه صورت رسم کرد؟
سلام
والا نمیدونم چجوری میشه جداش کرد این اطلاعات رو
با سلام و احترام
قبل از هر چیز از سایت و مطالب مفیدتان تشکر می کنم. یک مسئله با روش تجزیه بندرز کدنویسی کردم.می خوام در قسمت مسئله master ، جمع yj هایی (yj متغیر تصمیم باینری است)که مقدار آن ها در این تکرار برابر یک شده است و جمع yj هایی که برابر یک نشده است مثلا مساوی 10 باشد، چطور می توانم این محدودیت را اعمال کنم.
با سپاس
سلام
من بندرز کار نکردم ولی وقتی میگین که y باینری هست یعنی چی جمعشون برابر یک یا 10 باشه؟
به نام خدا. با سلام. من میخواهم با یک محدودیت مشخص کنم که یک متغیر فعال هست یا نه؟ برای این کار از indicator constraint استفاده کردم ولی مساله این است که در این حالت باد مساله حتما MIP باشد. در صورتی که مساله من MINLP است. لطفا اگر میتوانید مرا در این زمینه راهنمایی فرمایید.
با تشکر بسسسسیار
سلام
indicator ها در gams فقط برای cplex می توانند استفاده شوند. چاره ای ندارید جز اینکه از روش هایی مانند BigM یا تغییر فرمول نویسی یا استفاده از دستوراتی نظیر ifthen و… ندارید
منظورتان از روش BIG M چیست؟
من این روش ها را از کجا بیابم؟ معادله به صورت q-M*z<=0 نوشته ام که M در اینجا یک عدد است و z هم متغیر باینری است، ولی M باید به دقت تعیین شود چرا که جواب ها را تغییر میدهد.
جایی دیدم که نوشته یود میشود از SOS ها هم استفاده کرد ولی من نفهمیدم که چگونه!؟
خواهش میکنم اگر میتوانید مرا در این زمینه یاری کنید بسیار کلافه شده ام…
با تشکر از زحمات شما
سلام
منظورم همین بود. یعنی چی با مقدیر مختلف M تغییر میکنه؟ یه عدد خیلی بزرگ فرضش کنین، احتمالا مشکل حل میشه
دقیقا مشکل همینجاست.
من این مشکل رو توی اینترنت هم سرچ کردم و گفتن که بله نمیشه هر عدد بزرگی فرضش کرد! و من هم موارد مختلفی رو امتحان کردم ولی نشد. مثلا عدد M را 7000 میگیرم حواب میدهد، 7001 میگیرم ناموجه میشود، 7002 میگیرم جواب دوباره تغییر میکند!!!!
این رو در پاسخ به چیزی که گفتید ببینید بد نیست:
http://support.gams.com/doku.php?id=gams:how_large_should_big_m_be
سلام
یه چندتا از محدودیتا رو که به هم نزدیکن اینجا بنویس. حرف شما درسته ولی اگه مسئله زمان بر باشه باعث میشه زمان حل واقعی مدل بره بالا
سلام
ببخشید من مدلم رو که توی سایز بزرگ در گمز مینویسم توی زمان خیلی کم، 0.4 ثانیه حلش میکنه، در صورتی که باید طول بکشه،در سایز کوچک هم جواباش درسته، چون به صورت دستی هم همین در اومده،اما در سایز بزرگ و زمان خیلی کم جواب optimal میده ولی با این پیغام
4 Terminated by solver
واقعا ممنون میشم اگه بگید ایراد کارم کجاست؟
سلام
این پیام کامل نیست، پیام کامل سالور رو بزارین
S O L V E S U M M A R Y
MODEL test80 OBJECTIVE z
TYPE RMIP DIRECTION MINIMIZE
SOLVER CPLEX FROM LINE 227
**** SOLVER STATUS 4 Terminated By Solver
**** MODEL STATUS 1 Optimal
**** OBJECTIVE VALUE 7555.1350
.
.
.
LP status(5): optimal with unscaled infeasibilities
Optimal solution found, but with infeasibilities after unscaling.
سلام
با همچین شرایطی برخورد نکردم. ولی به احتمال زیاد این پیام به خاطر اینه که cplex نتونسته مدل رو تا اخر حل کنه. با یک سالور دیگه ادامه بدین، تایپ مدلتون رو هم یه بار mip بذارین و یه بار هم minlp و با baron حل کنین. ببینین چی میشه این بار
خیلی ممنون از راهنماییتون، به mip تغییرش دادم، جواب optimal شد و پیغامی که به طور کامل یک بار حل شده اومد. ولی بازم خیلی سریع حلش کرد!!!!
سلام
برای نوشتن تابع هزینه از دید یک ریزشبکه که متصل به شبکه سراسری است؛
باید علامت توان فروخته شده به شبکه سراسری مثبت باشه یا منفی؟ این نکته قابل ذکر است که توان فروخته شده به شبکه سراسری از دید ریزشبکه درآمد محسوب میشه .
تشکر از نظرهایی که میدهید.
سلام
اول باید ببینین که چرا دارین تابع هدف رو می نویسین؟ اینکه این تابع هدف داره مینیمم میکنه یا ماکسیمم؟ فکر میکنم همین کافی باشه که چه توانی بذارین
از طرفی شما یه مقدار رو ادبیات موضوع مطالعه کنین. حتما موارد مشابهش رو پیدا میکنین
موفق باشین
میخوایم تابع هدف رو کمینه کنیم
ادبیات موضوع رو بررسی کنین. حتما مسئله پایه براش پیدا میشه. ولی اگه پیدا نشد، شما هر کدوم رو خواستین می تونین بذارین. فقط به ماهیت مسئله ضربه نزنه
سلام
من یک برنامه ای نوشتم در گمز برای بهینه سازی توان تولیدی یک ریزشبکه برای پایان نامه ام، ولی وقتی ران میکنم جوابها در کامپیوتر من اشتباه میاد ولی یکی دیگه که ران میکنه جواب را درست میده، علت چیست؟ ممنون میشم اگر جواب من رو لطف کنید و بدید که استفاده کنم.
سلام
به احتمال زیاد، نسخه ای که استفاده می کنید متفاوت است و یا اینکه کانفیگ کامپیوتر شما پایین هست و جواب نهایی صحیح رو بدست نمیاره.
موفق باشید
نسخه ها یکی هست
این دو کد رو به ابتدای نرم افزار اضافه کنید.
option reslim=100000;
option optcr=0;
شرط توقف نرم افزار گمز هستن این دو کد. اولی شرط توقف زمانی و دومی نیز گپ رو صفر در نظر میگیره.
موفق باشید
این کار را هم انجام دادم، ولی بعد از چند ساعت جواب تابع هزینه صفر شد !
سلام
جواب log رو بررسی کنین، شاید اونجا سر نخی داره. مثلا زمان reslim به پایان رسیده باشه که در این صورت نتونسته گمز حلش کنه و زمان بیشتری میخواد. رو یک pc دیگه امتحان کنین. با تعدادی از نسخه های ویندوز و اینا مشکل داره
سلام، ببخشید یه سوال داشتم. من وقتی مدلم رو با نرم افزار حل میکنم جواب میده و میزنه جواب هم optimal است. اما یه پیام هم میده solution satisfies tolerances. این یعنی چی؟ یعنی آخر جواب هست یا نه؟ آخه چک میکنم متغیرهامو مثلا بعضی متغیرها باینریم همش یک شده در حالی که در رابطه با سایر متغیرا که بررسی میکنم لزومی نداره یک باشه. بعد یه مثال دیگه حل کردم به جای اون پیام که گفتم نوشته proven optimal solution. میدونین ایراد مدل من دقیقا چیه؟ یا اینکه اصن ایرادی نداره؟
در واقع اینا رو برام زده تو قسمت خلاصه جواب:
MIP status(102): integer optimal, tolerance
MODEL STATUS 8 Integer Solution
Fixed MIP status(1): optimal
خیلی ممنون میشم اگه منو راهنمایی کنید.
با تشکر
سلام
اگه جواب متغیرهاتون منطقی هست و از حدود عدول نمیکنهف نه مشکلی نداره
سلام.من یه برنامه با gams نوشتم که در اون از تابع sign استفاده کردم ولی وقتی run میکنم برنامه nonopt زیادی میده با وجود اینکه میدونم برنامم درست نوشته شده، از چند نفر پرسیدم میگن مشکل از نوع solver هستش که تابعت خوب بهینه نمیشه، همچین چیزی ممکنه؟ اگه این درسته از چه نوع solver ایی برای حل تابع sign استفاده کنم؟
ممنون
سلام
لطفا کد مربوطه رو برام ایمیل کنید
یه سوال داشتم.که خیلی تو اینترنت در موردش سرچ کردم ولی چیزی دستگیرم نشد.
وقتی مدلمو ران میکنم ارور نداره ولی یه هشدار میده که باعث میشه مدل بهم جواب نده.
نمیدونم چیه و چجوری میشه برطرفش کرد.
لایسنس هم زدم ولی نشد.جلوی سالورم هم کلمهfull هستش.
couenne:warning, tightened NLP is infeasible.
reformolation findes model infeasible.
برای حل مدلم از minlp استفاده کردم.
و سالورم هم couenneبود. بقیه سالورها هم یا دمو بودن و یا minlp نداشتن.
به انگلیسی سرچ کردم اما چیزی دستگیرم نشد.
ممنون
ضمن تشکر از مطالب مفید سایت. میخواستم ببینم زمان انجام محاسبات در کدام قسمت است.
سلام
ممنون.
زمان در پنجره ی process window یا فایل log و همچنین در فایل lst قسمت execution به نمایش در می آید.