در این بخش به مطالعه ی فایل lst که همان خروجی مورد نظر اغلب کاربران می باشد، پرداخته می شود. مثال کاربردی 1 را Run کنید.
پس از اتمام حل مدل فایل lst به طور خودکار باز خواهد شد. شکل زیر این امر را به نمایش می گذارد. این خروجی به دو بخش navigation window و listing file تقسیم می شود. Navigation window به عنوان یک لیست هوشمند عمل می کند که اگر روی یکی از ارکان آن دبل کلیک کنیم به آدرس مربوطه در listing file خواهیم رفت. دقت شود که lst فایل با editor های دیگر مانند notepad نیز قابل بازخوانی است. ولی در این صورت navigation window قابل مشاهده نیست. و برای مشاهده ی این لیست، تنها باید فایل lst را با GAMS باز کرد.
یک فایل lst شامل سه بخش کلیِ Compilation Output، Solve Statement Output، Execution Output و Error Reporting می باشد. هر کدام از این خروجی ها در ادامه به طور کامل تشریح خواهند شد.
خدمت عزیزانی که آموزش گام به گام را از ابتدا همراه با ما شروع نموده اند توصیه می شود که پس از مطالعه و مرور این صفحه، جهت ادامه مراحل آموزش به بخش Compilation Output، در لیست مطالب مراجعه نمایند.
با تشکر
مدیریت سایت gamsbook.ir
ایمیل: Support@gamsbook.ir
شماره تماس: 3325-405—0919
سلام و عرض ادب
چطوری میشه ماکزیمم یک متغیر رو گرفت و در یک قید دیگه ازش استفاده کرد.
من دو تا قید به صورت بالا دارم . که باید از ماکزیمم اولی برای قید دومم استفاده کنم. چه جوری این کار رو انجام بدم؟
پیشاپیش ممنون.
سلام وقت بخیر
بزرگترین مقدار M باید از g کوچکتر باشه، بنابراین g از همه ی M ها بزرگتر هست. کافیه یه محدودیت بذارین که g از همه M ها بزرگتر باشه. فقط یک نکته مطرح هست تو این مدل، تمام g(t) ها از تمام M(tprim) ها بزرگتره.
خیلی ممنون این راه حل خوبی هستش.
منتها من یه قید دیگم باز به Mmax احتیاج دارم.
A=Mmax+Hmax راهی براش هست؟
بازم A رو میشه بزرگتر از همه این جمع ها قرار بدید، اما جهت تابع هدف رو هم چک کنید که این A چه اتفاقی براش خواهد افتاد
سلام آقای دکتر.
من یک مدل MINLP دارم و در model statud عبارت integer solution رو نشون میده که یعنی یک جواب شدنی هست. از دستور option cptr=0 هم استفاده کردم ولی بهینه نداد. بنظر شما مشکل از چیه؟؟
سلام و ادب
مسائل غیرخطی، مخصوصا مواردی که فضای غیر محدب دارن این مشکل رو معمولا دارن. از سالورهای دیگه هم کمک بگیرین و نتایج رو مقایسه کنین
سلام وقت بخیر
سوالی که داشتم اینه که چجوری (با چه کدی) میشه absolute gap رو به صورت عددی به عنوان خروجی گرفت؟ من الان با این کد انجام دادم و خروجی رو به متلب فرستادم ولی در متلب به شکل NAN نمایش داده میشه در حالیکه برای resusd همین کار رو کردم و جواب میده
parameter ctime,AG,RG;
AG=lbp.optca;
RG=lbp.optcr;
xecute_unload ‘GtoM’ AG,RG;
سلام
بله گمز همچین مشکلی داره. علتش رو نمیدونم اگه از دوستان کسی میدونه به ما هم بگه ممنون میشم.
من خودم برای اینکه این موارد رو تو خروجی ببینم. به جاش از فرمولش استفاده میکنم. یعنی دو مورد زیر رو از گمز میگیرم. و فرمول گپ رو می نویسم دستی که برام محاسبه کنه
سلام وقت بخیر من کد گمز مدلمو دادم بیرون برام بزنند کدی که تحویل دادن توی گمز من ران میشه کلی ارور میده و اصلا جواب نمیده اما همین کد توی گمز ایشون اروری نداره و جواب میده، من کد رو کپی کردم توی فایل جدید باز هم درست نشد مشکل از کجاست و چجوری میشه رفعش کرد؟
سلام و ادب
اگر این همه ارور داره، احتمالا از دستوری استفاده شده که نسخه قدیمی شما پشتیبانی نمیکنه. نسخه رو بروز کنین ممکنه مشکل حل بشه. نسخه 24.7 یا 25.1 خوبن برای ما
سلام اقای محمودی
خسته نباشید
من وقتی مدلمو ران میکنم یکی از متغیرهام مقدار بهینه اش صفر میشه. چه دستوری به کد اضافه کنم که متغیر مقدار بهینه بگیره؟
سلام
شما باید مدلسازیتون رو احتمالا اصلاح کنین. روش خاصی نداره. باید مفاهیم رو خوب پیاده سازی کنین
سلام و وقت بخیر
چطور میشه در گمز از توابع مشتق گرفت؟
سلام
دستی مشتق بگیرین و وارد گمز کنین
با سلام
بعد از انکه مدل ران شد و جواب هم داد بخواهیم خروجی مدل را رسم کنیم و ببینیم که آیا جواب های خروجی با ترسیم مساله ما تطابق داره باید چکار انجام بدهیم. باید در کدام قسمت از نرم افزار جلو بریم.
با تشکر
سلام
برای رسم نمودار می تونین خروجی به بفرستین تو gdx و از اونجا با استفاده از چارت رسمش کنین. ولی بهترین راه اینکه که خروجی رو بفرستین تو اکسل و تو اکسل رسمش کنین. نمودارای گمز اصلاا خوب نیستن. بهتر بگم. من فقط یه بار یاد گرفتم و دیگه استفاده نکردم ازش
سلام جناب مهندس
ببخشید اگر خروجی گمز رو بخام به مطلب بدم که بهم خروجی بصورت شکل بده باید چکار کنم؟
سلام
باید از ایترفیس متلبو گمز استفاده کنین.
جستجو کنین: interfacing between gams and matlab
سلام
در هنگام خروجی گرفتن تو gdx برای یک متغییر مقدار مارجینال داده شده اما مقدار خودش خالی نشون داده شده یعنی این مقادیر صفر هستند؟
Level Marginal
t1 2
t2 -16.73
t3 -14.19
t4 -12.34
t5 -9.19
t6 -5.9
t7 -15.27
سلام
بله صفر شده. خواستین display هم بکنین. یا تو قسمت solvar هم ببینین مقادیر رو.
ممنون میشم فایل اموزش خروجی گمز به اکسل رو به ایمیل من هم بفرستید ممنونم
با یک سرچ خیلی ساده در گوگل می توانید جواب سوالتون رو پیدا کنید
سلام خسته نباشید وقتی در گمز یک اندیس (مثلا اندیس i) می خواهیم تعریف کنیم که جزو مجموعه اعداد طبیعی هست و از یک تا n را شامل میشود چه طوری باید پیش ببریم ؟؟
سلام
سلام در روش ال پی متریک اگر مقدار تابع هدف نهایی مقدارش منفی شود، مفهوم خاصی دارد؟ امکانش هست منفی شود؟
معمولا میان عبارت اختلاف توابع از بهینه تکی رو میذارن تو قدر مطلق ودر نهایت هم مثبت میشه حاصل جمعشون.
ببخشید من یک سوال دیگه هم داشتم: یک پیام دیگه که در خروجی یک مثال دیگم میده به صورت زیر هستش:
من یک option itelim=1000 براش گذاشتم ولی همچنان همچین خطایی در خصوص قطع شدن فرآیند حل به خاطر محدودیت تکرار بهم میده. این MAXCYCLES چی هست؟ میشه به کد اضافه شه تا خروجی بگیرم؟
سلام
iterlim رو عدد بزرگی بزنین. مث یه میلیون!
maxcycle هم یه option داره برای این سالور. اون هم عدد بالا تنظیم کنین.
با سلام و تشکر از سایت خوبتون
من مدلم رو ران میکنم اما بهم جواب نمیده و توی خروجیش میزنه:
چطوری می تونم جواب فیزیبل بگیرم؟ ایراد از چیه؟
ممنون میشم راهنماییم کنید.
سلام
تازه اول دردسر شماست. از سایر سالورها هم استفاده کنین. شاید جواب دادن.
اگه نشد، باید اولم مدل رو چک کنین، داده ها رو دقیق، و کد رو.
اگه بازم مشکل داشت، همه محدودیت ها رو بردارین، و یکی یکی به مدل اضافه کنین و هر سری ران بگیرین. هر جا نشدنی شد، مجددا چک بکنین و تحلیل کنین دلایلش رو.
سلام
وقت بخیر
من میخواستم بدونم که برای مدل MILP وقتی در نهایت گمس یک مقدار Gap گزارش میده، این مقدار Gap فاصله بین چه جواب هایی رو نشون میده؟ مثلا فاصله بین جواب بدست آمده تا مقدار بهینه از مدل اصلی هست یا فاصله بین جواب بدست آمده تا مقدار بهینه از مدل MIP هست یا فاصله بین جواب بدست آمده تا یه حد پایین یا بالا هست و ….
سلام
گمز برا بدست اوردن جواب از الگوریتم های خاصی استفاده میکنه. مخصوصا برای Minlp که رویکردهای هر سالور متفاوت هست. ولی در کل اول سالور سعی میکنه که توسط روشهای ترکیبی با روش دوگان یه حواب اولیه به دست بیاره. این جواب اولیه تو cplex معمولا به جواب بهینه نزدیک هست. به خاطر همین فاصله ی جوابی که سالور برای مسئله دست آورده با جوابی که با روش هایی نظیر دوگان محاسبه کرده، رو به عنوان gap اعلام میکنه. که برای مسئله کمینه سازی جواب دوگان به عنوان کران پایین در نظر گرفته میشه.
سلام،بعد ران کردن مدل هیچ اروری نمیده ولی تمام متغیرها و تابع هدف صفر شده چطوری بفهمم مشکل از کجاست؟مدل minlp هستش با couenne حل شده .با تشکر از سایت خوبتون تا حالا خیلی از مشکلامو حل کرده
سلام
ممنون و خواهش میکنم.
شما اول باید process window رو چک کنین و ببینین چه پیامی داده. بعد تو بخش summary تو فایل lst نگاه کنین که solver status و model status چی رو نشون دادن.
سلام.خسته نباشید.ببخشید توی خروجی برنامه 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
سلام حجمی هست که از رم گرفته میشه
سلام وقتتتون بخیر.سوالی داشتم راجع به فراخوانی داده از اکسل به گمز .ممنون میشم پاسخ دهید.
من میخاستم یه سری داده که به صورت جدول در اکسل دارم وارد گمز کنم مثالا این جدول رو
3 2 1 ماتریس فاصله
3 1 0 1
2 0 3 2
0 2 3 3
یعنی اگر جدولم به صورت فوق باشه .الان دستورش چیه که اون سطر وستون که لیبل جدول هست رو به صورت عدد در نظر نگیره ولی وارد کنه اخه در دستورات بعدی لازم دارم که بدونه مثلا فاصله گره یک تا 3 چه مقدار هست.
سلام
لیبل ها رو نمیگیره. کافیه تو دستور gdxی که دارین استفاده میکنین بگین که rdim=1 و cdim=1
با سلام. من از مطالب سایتتون در موارد مختلف استفاده کردم و هرگز نشد بابت این موضوع ازتون تشکر کنم، بابت سایت و مطالب مفیدتون بسیار سپاسگزارم. در حال حاضر نیاز دارم تا خروجی گمز رو در اکسل ذخیره کنم و اطلاعاتی رو از اکسل فراخوانی کنم. اگر که مثالی در این رابطه دارید ممنون میشم که برام بفرستید.
در هر صورت از زحماتتون سپاسگزارم.
سلام
خیلی ممنونم و خواهش میکنم. خوشحالم که کمکی بوده براتون.
برای دریافت فایل نمونه یه ایمیل به سایت بزنین.
سلام
من از دستوری که برای خروجی گرفتن گمز در اکسل دادین استفاده کردم
برای گرفتن خروجی پارامتر مشکلی نبود ولی وقتی خروجی متغیرهامو میخواستم فقط یک شیت با اسم اون متغیر در اکسل ایجاد میشه و داده ها داده نمیشه ممنون میشم راهنماییم کنید.
سلام
اون متغیر احتمالا جوابی نگرفته. یا مثلا صفر شده همه جا
خیر متغیر ها دارای جواب می باشند
پس لطفا کد رو یا ایمیل سایت ارسال بفرمایین. ببینم مشکلش چیه.
با تشکر
مشکل حل شد.
ممنون از پاسخگویی و سایت مفیدتون.
خدا روشکر.
سلام. به یک مشکلی برخوردم. وقتی مدل را ران می کنم بدون غلط ران میشه ولی جواب نمیده. وقتی از تعداد ارقام اطلاعاتم یک رقم کم می کنم جواب میده. ارقام حداکثر 7 رقم هستن. باید چیکار کنم؟ ممنون
سلام
اعداد در چه حد هستن و نوع مسئله شما از چه نوع هست؟ متغیر عدد صحیح دارید؟
سلام. چند تا سوال دارم.
از نظر تئوری چطور عبارت option optcr=0;
شکاف دوگانی رو به صفر می رسونه؟
آیا تغییر سالور نقشی در تغییر شکاف دوگانی داره؟
چه روشهای دیگه ای برای کاهش شکاف دوگانی وجود داره؟
سلام
ببینید این سوال خیلی عمیق تر از اون چیزی هست که من الان بخوام جواب بدم. یه راهنمایی اولیه میکنم، بعدش باید یه سری قضیه مطالعه کنین و مقداری در مورد لغات و عباراتی که به کار میبرم تو همین سایت یا منابع مختلف جستجو کنین.
اگه مسئله شما فضا و هدف محدبی داشته باشه، اونوقت میتونین با احتمال قوی بگین که بله، شکاف یا گپ صفر میشه. چون تو این حالت دوگانی قوی رخ میده. اگه محدب هم نباشه شاید باز شرایط کافی دوگان قوی رخ بده که باز شانس شما بالا میره. با optionی که گفتین ممکنه سالور موفق بشه به جواب سراسری برسه و درصورتی که توی دوگان هم موفق باشه، پس این آپشن برای کاهش شکاف دوگانی موفق بوده. بعضی سالور ها نمیتونن گپ رو دقیقا صفر کنن، برا بعضی مسائل با سایز بالا هم ممکن نیست. پس اطمینانی نیست که سالور ها نتیجه خوبی که شما مد نظر دارین رو بهتون بدن. ولی میشه کاهش داد. رازش اینه که شما ساختار مدلتون رو مسلط باشین، سالور رو بشناسین، و تعدادی آپشن که باعث میشه سالور جواب بهتری رو بده رو استفاده کنین.
این سوال شما دانش ریاضی و کدینگ قوی ای می طلبه که باید خیلی مطالعه کنین اگه حیاتیه براتون.
سلام
مدلی نوشتم که خطا نمی ده ولی خروجی display رو هم نشون نمی ده.
در واقع فقط این بخشها رو داره:
compilation
equation listing
equation
column listing
column
model statistics
آیا امکان داره مشکل از نرم افزار یا سالورش باشه؟ کدوم قسمت خروجی رو باید ببینم که بفهمم مشکل از کجاست؟
ممنون می شم راهنماییم کنید.
در قسمت گمز کدام قسمت را باید مشاهده کنیم ؟
lower level upper marginal
سلام
وقتی برنامه تونو ران کردید در فایل lst برنامه تون قسمت solver
سلام.
میشه بگید که در کجای خروجی گمز می تونم تعداد محدودیت ها، تعداد متغیرهای باینری، پیوسته و … رو ببینم؟
سلام
تو پنجره process window (اون کوچیکه) می تونین این اطلاعات رو ببینین. دقیقا یک خط بعد اونجایی که مثلا میگه generating minlp model YOURMODELNAME
همچنین شما تو listing file میتونین تو بخش model statistics این اطلاعات رو مشاهده کنین. تاپیک زیر هم میتونه براتون مفید باشه.
model statistics در گمز
سلام
در بخش آماری که در خروجی اومده، تعداد single equation,single variables,discrete variable, blocks of equation,blocks of variables,nonzero elements رو داده. متغیرهای باینری کدوم یکی از این اطلاعات هست؟ میشه توضیح بدهید مفهوم هرکدومشون دقیقا چیه
با تشکر.
سلام
دو پست زیر رو مشاهده بفرمایین.
model statisitics
nonlinsys.gms
سلام
ممنون از سایت خوبتون
میشه کد خروجی گمز به اکسل رو اینجا بزارید
فک کنم خیلیا بهش نیاز دارن، منم همینطور
باتشکر
سلام
یه مثال ساده رو میتونین اینجا دانلود کنین.
دانلود کد خروجی گمز به اکسل
ممنون از لطفتون
مگه بعد از ران نباید خودش جوابا رو به اکسل ببره؟!!
نشد که
در هر صورت لطف کردید
خواهش میکنم.
میبره. شما تو بخش documents/gamsdir/projdir یه فایل results که پسوند اکسل داره رو می تونین ببینین. اونجا دو تا شیت گذاشته
سلام. به یک مشکلی برخوردم. وقتی مدل را ران می کنم بدون غلط ران میشه ولی جواب نمیده. وقتی از تعداد ارقام اطلاعاتم یک رقم کم می کنم جواب میده. ارقام حداکثر 7 رقم هستن. باید چیکار کنم؟ ممنون
سلام
والا من چیزی نفهمیدم. فضایی توضیحاتتو مقداری گنگ بود. پس مقداری بهتری مطرح بفرمایین. مرسی
یک کد گمز برای تابع سه هدفه نوشتم و وقتی اجرا می کنم جواب نمی ده. ایرادی هم نمی گیره. وقتی از داده های کد که به صورت table تعریف کردم یک رقم کم می کنم جواب میده. کد گمز رو به ادرس ایمیلی که در سایت قرار دادید (Support@gamsbook.ir)فرستادم.از چند ورژن که در همین سایت شما هست هم استفاده کردم.لطفا بررسی کنید.از هرکس پرسیدم دلیلش رو نمیدونه. ممنون
سلام
شما باید داده ها رو چک کنین. زوری که نمیشه جواب به دست اورد. شما تقسیم بر صفر دارین تو مدلتون. یه مقدار کوچیک به مخرج اضافه کنین که رفع بشه این ارور. مث 0.00001
اقا سلام بسیار لنگ هستم
چطور میتونم مقدادیری ک مقدار صفر میگیره در گمز رو تو خروجی بجای فضای خالی ..همون مقدار صفر واردش بشه
چون میخام بریزم تو مطلب. اونجا ی فضا خالی ایجاد میشه کل ماتریس بهم میخوره..
ممنون میشم زود کمکم کنید
مثلا pi خروجیاهاش بترتیب ۱ ۲ ۳ ۰ ۵ هستش…این صفرو نشون نمیده و گپ هستش….وقتی میفرستم مطبل ۵ جا صفرو میگیره… چکار کنم تو گمز همون صفر نشون بده.
ممنون
سلام. چطور میتونیم بفهمیم مدت زمان ران چقدر بوده؟ یه جا شما گفتید execution time ولی این عدد برای زمان ران درست نیست. مثلا مدل 1 ساعت طول کشیده تا ران شه ولی execution time 0.031 شده. ممنون میشم راهنمایی کنید.
سلام
این کد رو اضافه کنین بعد دستور سالو
display modelname.resusd;
با سلام
لطفا فایل مثالی که در اون خروجی گمس به اکسل فرستاده میشه رو یه جایی آپلود کنید و لینکش رو قرار بدید. (تا دوستان دیگه هم استفاده کنن)
یا اینکه ایمیل کنیدممنون
سلام
چشم به زودی
مقداری سرمون شلوغه فعلا
سلام
یک برنامه غیر خطی رو ران میکنم تمام جواب ها رو صفر میده
علت چیه؟
سلام
احتمالا نشدنی یا بیکران هست مدل شما. ببینید تو process window چی گفته
نوشته ممکنه مدل نشدنی باشه
در اینصورت باید چطور اصلاحش کنم؟
تغییر داده، تغییر مدل، حتی شاید تغییر سالور!
سلام
ببخشید یه سوال داشتم
امکان داره که گمز تو ابعاد پایین جواب درستی بده. اما تو ابعاد جواب نشدنی باشه؟
باتشکر
سلام
خیر.
اگه مدل درست باشه خیر.
اگه نشدنی بشه، یعنی یه تناقضی وجود داره. مگه اینکه جواب سالور unbounded باشه که تو process window ذکر میشه
سلام میشه اون فایل خروجی گمز به اکسل را برایم ایمیل کنید ممنون
سلام
ممنون از سایت خوبتون
مدل من یه مدل mip هستش و روی مثال کوچک چک شده و به جواب درست رسیده حالا که روی یه مثال بزرگ رانش کردم بعد از حدودا 16 دقیقه بدون رسیدن به جواب این پیام و میده ..ممنون میشم راهنمایی کنید
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
سلام
مرسی و خواهش میکنم.
شرط توقف گمز به صورت پیشفرض تو زمان 16 دقیقه، یا هزار ثانیه هست. و تو این زمان به هر جوابی برسه اعلام میکنه.
برا افزایش زمان توقف گمز کد زیر رو قبل از دستور solve بنویسین.
option reslim=2000;
یعنی دو هزار ثانیه حلش کن. میتونین بیشترشم بکنین شما
ممنون از راهنماییتون
سلام
خیلی ممنون از پاسخگویی و سایت خوبتون
من میخاستم توی خروجی گمز، مجموع یکی از متغیرها را به من بده و دیگه لازم نباشه که من جمع اون متغیرو حساب کنم..اومدم مجموع رو به عنوان یه متغیر تعریف کردم و یه محدودیت براش نوشتیم که این مجموع رو حساب میکرد و داخل متغیر تعریفی میریخت …میخواستم بدونم راه دیگه ای برای انجام این کار هست؟ چون فکر میکنم اضافه کردن محدودیت روی زمان حل تاثیر بذاره.
باتشکر
سلام
بله زمان رو میبره بالا.
فرض کنین x(i) متغیر شما باشه. و میخواین مجموعش رو بعد بهینه شدن مدل به دست بیارین. برای اینکار بعد از دستور solve بیاین یه پارامتر به اسم xx تعریف کنید. بعدش قراره مجموع x رو بریزیم تو xx . اینو اینجوری مینویسیم:
solve.....;
parameter xx;
xx=sum(i,x.L(i));
display xx;
برای اطلاعات بیشتر به بخش متغیرها مراجعه کنید.
سلام جناب محمودی
وقت بخیر
gap مجاز برای minlp چقدر هست؟
البته مدلم چند هدفه هست که با توابع سازگار حل می کنم
سلام
یعنی چی مجاز؟
شاید بد بیان کردم،منظورم این هست که تا چه حدی قابل قبول هست
مثلا gap مدلم
0.00440373000037653
هست وچقد روی جوابم تاثیر میگذاره؟؟ و میتونم خروجی مدلم را بهترین جواب فرض کنم؟؟؟
این گپی که گفتین نسبتاً گپ پایینی هست. بد نیست. این گپ شما میتونه بهتر بشه، اگه زمان توقف گمز رو بالا ببرین و optcr رو برابر صفر در نظر بگیرین.گپ معمولا قانون خواصی نداره که چقدش خوب باشه ولی معمولا گپ های زیر ده درصد در نظر گرفته میشن. بالاترش هم دیدم گذارش بدن
سلام
ببخشید کدی تو گمز داریم که مقادیر پارامتر را بین یک عددی تا یه عدد دیگه بگیره و مقادیر تابع هدف را به ازای آن نمایش بده؟ در واقع تحلیل حساسیت انجام بده….اگه هست ممنون میشم که کدشو اینجا قرار بدهید…مرسی
سلام
به ابتکار خودتونه. شما یه Loop بزنید، که تو اون لوپه دستور solve هم شامل بشه. بعد هر بار که هدف حل میشه، مقدارش رو تو ی پارامتر دیگه ذخیره میکنه. مثلا فرض کنید alpha قراره تغییر کنه و s تا سناریو برای تغییرش دارین. یه مثال میتونه مث کد زیر باشه:
loop(s,
alpha1=alpha(s);
solve tavakoli using mip maximizing z;
z1(s)=z.l;);
سلام وقت بخیر
من تقریبا از چنین دستوری برای تحلیل حساسیت مدل استفاده می کنم ولی در نهایت همه مقادیر تابع هدف در همه تکرار را مقدار مشابهی دارند؟
سلام
ممکنه مشکل از داده هاتون باشه و هر تغییری بدین یه جواب بهتون بده. یا اینکه تنظیمات حلقه درست نیست.
دستی تغییر بدین پارامتر رو ببینید جواب تابع هدف چه اتفاقی براش میفته
سلام اقای محمودی.ببخشید میشه لطفا آموزش خروجی از گمز به اکسل رو برام بفرستید.فک کنم یادتون رفت بفرستید.
قربان من فرستادم که
سلام
خیلی ممنون از سایت خوبتون
ببخشید چه جوری میتونم جوابهای (خروجی) گمز رو سیو کنم؟….مرسی
سلام
اول display رو بزنین. و کپی کنین تو فایل تکست. یا کپی کنین تو اکسل. یا کد gms2xls رو یاد بگیرین و خودکار که مسئله حل شد جوابا خودشون برن تو ادرس اکسلی که بهش دادین. و سایر روشها
سلام اقای محمودی.ببخشید میشه لطفا آموزش خروجی از گمز به اکسل رو برام بفرستید.فک کنم یادتون رفت بفرستید.
فرستادم حضورتون
سلام
من مدلمو حل که میکنم جواب رو 122 درمیاره و حدس میزنه جواب 110 باشه در واقع گپش حدود 0.099 هست
میخام که جواب بهینه رو به دست بیارم برای همین، زمان حلو بیشتر میکنم مثلا 10000ثانیه کردم ولی گمز تا یک و نیم ساعت بیشتر نمیره و جواب رو همون 122 درمیاره
به نظرتون مشکل از چیه؟
البته من الگوریتم براش نوشتم جواب رو 113 درمیاره
باتشکر فراوان
سلام
این کد رو به ابتدای کدتون اضافه کنین، این که میگین حدس میزنه به خاطر اینه که میگه اگه متغیرها عدد صحیح نباشن جواب این میشه.
حالا اینو اضافه کنین جواب دقیق رو بهتون میده:
Option reslim=10000;
Option optcr=0;
موفق باشین
با سلام و احترام
یک سوال خیلی مهم و فوری دارم. یک پارامتر در قسمت display نوشتم که مقدار نهایی آن را نمایش دهد اما گمز آن را به صورت کامل نشان نمی دهد و به این صورت 2.569398E+8 جواب ظاهر می شود. آیا راهی وجود دارد که این پارامتر به صورت کامل مثلا به صورت 256939853 نمایش داده شود.
با سپاس فراوان
سلام
شما باید از option زیر استفده کنین:
Option decimals=n;
موفق باشین
سلام
می خواستم بپرسم که جواب best possible که در خروجی سالورهای گمز وجود دارد، دقیقا چه چیزی را بیان می کند؟
من مدلم را در حدود 12 ساعت ران می کنم، بعد از این مدت، bonmin هیچ جواب موجهی برای آن پیدا نمی کند ولی best possible را اعلام می کند. با توجه به این که متغیرهای من عدد صحیح هستند، آیا best possibe جواب غیرصحیح است؟
با تشکر فراوان
سلام
با تشکر از مطالبتون
من داخل کدنویسیم یک معادله دارم که نزدیک صفر مشتق دوم ندارد و چون میخوام از حل کننده Bonmin استفاده کنم باید این مشتق ناپذیریرفع بشه.برای رفع این مشتق ناپذیری یک دلتا تعریف میکنه برای x بزرگتر از دلتا خود معادله ،برای x کوچکتراز منفی دلتا منفی این معادله و برای بازه ی بین منفی دلتا و مثبت دلتا یک عبارت چند جمله ای ازx را مچ می کنه ،x متغیر مسئله است میخواستم کمکم کنید که این را با چه دستوری مدل کنم .
سلام
با تشکر از وب سایتتون
من داخل برنامه ام یک معادله دارم که نزدیک صفرمشتق دوم نداره تکه چون قراره از حل کننده Bonmin استفاده کنم باید از این حالت مشتق ناپذیری خارج بشه برای رفع این مشتق ناپذیری اون را به سه بازه تقسیم می کند یک دلتا تعریف میکنه که برای بازه های بزرگتر از دلتا خود همین معادله، برای بازه های کوچکتر از منفی دلتا منفی همین معادله و برای بازه های بین منفی دلتا و دلتا یک چند جمله ای به جای اون تعریف میکنه، این تعریف سه بخشی مسئله روی متغیر مسئله است یعنی x>delta و… این رو چجوری تو گمز مدل کنم ؟
سلام
بهترین راهی که به ذهنم میرسه اینه که شما یه متغیر صفر و یک دیگه هم تعریف کنین و همه اینایی رو که گفتین به سه چهارتا محدودیت تبدیل کنین.
یعنی محدودیت شرط رو برسونه. تو بخش معادلات کامنتا رو بخونین. مطالب مفیدی رو دوستان مطرح کردن
خیلی ممنون.
از مطالب عالی و پر کاربرد وب ساییتون هم خیلی تشکر می کنم.
خیلی به رفع مشکلات کدنویسی مون کمک کرد.
سلام
ممنون از شما آقا مهدی
خوشحالم که تونستیم کمکی بکنیم.
سربلند باشین
سلام
ممنون از توضیحات کاملتون
چطور میتونم خروجی گمز بعد از runشدن برنامه رو در اکسل وارد کنم
تا حالا به صورت دستی اینکار رو انجام میدادم آیا راهی هست نتایج بخش execution رو وارد اکسل کنم؟
خیلی ممنونم
سلام
بله. شما باید از ارتباط بین گمز و gdx و همچنین gdx و اکسل استفاده کنین. یعنی یه بار خروجی رو می فرستین تو gdx یه بار هم از gdx می فرستین تو اکسل.
مثال زیر رو ببینید. میخوایم teta1,teta2 رو بفرستیم تو اکسل:
مقداری باید مطالعه کنید که این روش رو یاد بگیرید. این رو جستجو کنید:
interfacing between gams and excel
gams to excel using gdx
سلام
خیلی ممنون به خاطر لایسنس ها و وب سایت خوبتون.
یه مشکلی با 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.
اگه امکانش هست در این مورد هم راهنماییم کنید. ممنون.
سلام
فقط دو مورد به ذهنم میرسه.
اول اینکه اگه دستور زیر رو نوشتین ورش دارین
option optcr=0;
دوم اینکه واریانس داده هاتون خیلی بالا باشه، مثلا اعدادتون همش بین صفر و یک هست ولی عدد M بزرگتون برابر صد میلیارد باشه!
از سالورهای دیگه هم می تونین استفاده کنین. مثلا بارون
موفق باشین
خیلی ممنون از جواب های خوب و سریعتون.
اگه اشتباه نکنم، سالورهای DICOPT و BARON تو این لایسنس demo هستند. می خواستم لطفا اگه لایسنس دیگه ای هم وجود داره، معرفی کنید. اگر نه که بازم ممنون از راهنمایی هاتون.
سلام
خواهش میکنم.
این لایسنس هم وجود داره. بگردین بازم هست. این دومیه واسه نسخه ی 23.3 خیلی خوب جواب میده.
موفق باشین
سلام.
خیلی ممنون از راهنماییتون. سعی می کنم همه اعداد کوچک مدلم رو یا مقیاس مناسب تغییر بدم.
یه سواله دیگه هم داشتم. لایسنس سایر سالورهای گمز رو چه طور میشه به دست آورد؟ می خواستم مدلم رو با سایر سالورهای MINLP امتحان کنم. شاید نتایج بهتری به دست بیارم؟
سلام
خواهش میکنم.
یه لایسنس رو می تونین اینجا دانلود کنین.
ممکنه، DICOPT و Baron هم خیلی قوی هستن. از این دو تا هم استفاده کنین.
salam misheto hal masaei minlp komakam konin man mikham ba matlab anjamesh bedam ama na algoritm na chizi nadaram
سلام
حل دقیق میخواین، با گمز کد کنین
الگوریتم میخواین، باید متلب رو یاد بگیرین و الگوریتم رو. یا اینکه بدین براتون انجام بدن.
هر دوی اینا رو بچه های ما انجام میدن
سلام
من یک مدل نسبتا پیچیده از نوع MINLP رو کد کردم و از دو سالور Bonmin و couenne که لایستسش رو داشتم، برای حلش استفاده کردم. برای سایز کوچک مدل جواب میدن. ولی سایز مسئله که زیاد میشه خطاهای زیر رو تولید می کنن:
Bonmin: the LP relaxation is infeasible or too expensive
Couenne: tightened NLP is infeasible
در مورد مدلم مطمئنم که موجه هست. می خواستم بپرسم که ممکنه خطای خود نرم افزار باشه؟
سلام
bonmin یک solverی هست که در برخی مسائل کم میاره! این Error به این معنی هست که bonmin نتونسته عمل relaxation رو همراه با متغیرهای پیوسته انجام بده و نتیجتاً اعلام کرده که نتوونستم حلش کنم.
واسه پیام مربوط به couenne حدس میزنم که شما تعدادی پارامتر یا متغیر دارین که اعدادشون نزدیک به صفر هست (نه کاملا صفر) ولی این نرم افزار میاد رندشون میکنه واسه همین مسئله infeasible میشه.
امیدوارم که جوابتون رو گرفته باشین.
موفق و پیروز
salam mishe un fili k bara zohre khanum dar morede vrude dade b excl ferestadino bara manam befrestin
rezaei_esmaeel@yahoo.com
سلام
چشم
فرستادم
سلام.میشه فایل خروجی گمز به اکسل رو برای منم بفرستید.
ممنون.
سلام. چشم
سلام اقای محمودی.ببخشید میشه لطفا آموزش خروجی از گمز به اکسل رو برام بفرستید.فک کنم یادتون رفت بفرستید.
سلام
فایل آموزشی نیست. یه کد نمونه هست. شاید براتون مفید باشه. فرستادم
بابت ارسال فایل خیلی خیلی ممنون.عالی بود.
سلام اقای محمودی.ببخشید میشه لطفا آموزش خروجی از گمز به اکسل رو برام بفرستید
salam mishe lotf konin in filo baraye man ham email konin
سلام
ارسال شد.
ببینید برای خروجی گرفتن لازمه مقداری هم gdx بلد باشین. حالا فایلی که فرستادمو چک کنین.
اگر برای بنده هم ارسال کنید سپاسگزار خواهم بود …
سلام
ایمیلتونو چک کنین
سلام
لطفا مثال را برای من هم بفرستید
ممنون
Ehsan.a.heidari@lenayazd.com
ارسال شد.
سلام میشه لطفا فایل خروجی از گمز به excell را برای من هم بفرستید .
سلام
چشم
سلام
با تشکر از مطالب مفیدتون
اگه لطف کنید مثال رو برا من هم بفرستید.
سلام
این کد رو به آخر کدتون اضافه کنین. یکم بهش دقت کنین.
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
سلام خسته نباشید
من میخام خروجی های نرم افزار گمز رو وارد اکسل کنم، اما نه دستی.
میخاستم بدونم شما میتونید کمکم کنید که خروجی ها رو با کد نویسی وارد اکسل کنم؟؟ اصلا همچین قابلیتی وجود داره؟؟
سلام
یک مثال براتون میل کردم
سلام و مرسی.
خواهش میکنم
سلام و خیلی خیلی ممنون از پاسخ دهی سریعتون.
یعنی به نظر شما مدل و کدی که اجرا کردم درست هستش ونیازی به اصلاح نداره. به این دلیل دوباره سوال می پرسم که مطمئن باشم که جوابم درسته و تحلیل نتایجش رو انجام بدم.
مرسی
خیالتون تخت
با عرض سلام و خسته نباشید.
مدلم رو که اجرا میکنم جواب میده و به صورت دستی هم که حل میکنم جوابش درسته ولی absolute gap اون که نشان دهنده global بودن جواب هستش صفر نیست و تک تک معادلات و روابط رو هم چک کردم بنظر همه چیز درسته. میتونید راهنماییم کنید که مشکل چی ممکنه باشه با absolute gap=1.00000002722922E-9 و چون مدلم غیرخطی بود با سلور بارون حل کردم.
ممنون
سلام
این مقدار gap یعنی تقریبا صفر. چون عدد خیلی خیلی کوچیکی هست. و چون مدلتون غیر خطی هم هست پس منطقی هست که دقیق صفر نشود.
موفق باشید
یه سوال داشتم.که خیلی تو اینترنت در موردش سرچ کردم ولی چیزی دستگیرم نشد.
وقتی مدلمو ران میکنم ارور نداره ولی یه هشدار میده که باعث میشه مدل بهم جواب نده.
نمیدونم چیه و چجوری میشه برطرفش کرد.
لایسنس هم زدم ولی نشد.جلوی سالورم هم کلمهfull هستش.
couenne:warning, tightened NLP is infeasible.
reformolation findes model infeasible.
برای حل مدلم از minlp استفاده کردم.
و سالورم هم couenneبود. بقیه سالورها هم یا دمو بودن و یا minlp نداشتن.
به انگلیسی سرچ کردم اما چیزی دستگیرم نشد.
ممنون
سلام
اول اینکه شاید لایسنس عمل نکرده. شما یک بار uninstal کنید و دوباره بعدش نصب کنین و بعدش لایسنس.
دوم اینکه کلمه ی infeasible نشون میده که مدل شما نشدنی هست. و ممکنه محدودیت ها با هم تناقض داشته باشن.
سلام.ممنون
خواهش میکنم