۶

تلرانس در ناحیه شدنی

در بیشتر مسائلی که با آنها سر و کار داریم، محدودیت ها محدودیت های سخت نام دارند. به عبارتی وقتی میگوییم که عبارت سمت چپ باید از عبارت سمت راست کوچکتر باشد، این امر قطعی است و ما اجازه ی تخطی از آن را نخواهیم داد. توجه بفرمایید که تخطی از محدودیت یعنی نشدنی بودن جواب! حال اگر بخواهیم به سالور اجازه دهیم که مقداری هم تخطی کند، آیا این امر امکان پذیر است؟

تخطی از یک محدودیت به معنی امکان تخطی متغیرهای پایه ی مسئله نیز می باشد. یک آپشن وجود دارد که به ما این امکان را می دهد که به گمز دستور دهیم که اشکالی ندارد که اگر جوابی که به دست می آید مقداری از ناحیه ی شدنی نیز بیرون باشد. این آپشن eprhs نام دارد که رنج بین ۱e-9 to 0.1 را می تواند داشته باشد و دیفالت آن برابر ۱e-6 می باشد. به عبارتی به صورت دیفالت سالور می تواند جوابهایی که یک صد هزارم با ناحیه ی شدنی فاصله دارند را شدنی اعلام کند. این مقدار می تواند کوچک یا بزرگتر هم شود.

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

موفق باشید

محمودی

6 دیدگاه در “تلرانس در ناحیه شدنی

    • سلام

      $onecho > cplex.opt
      eprhs=0.08;
      $offecho
      Your_mode_name.optfile=1;
      

      این کد رو بین دستور solve و دستور model قرار بدین.
      مقداری دقت بکنین که با اینکار ممکنه محدودیت رو نرم کنین و از حالت سخت بیاد بیرون.

  1. سلام. من مدلی دارم که با سالور GUROBI برای حلش استفاده میکنم وقتی ابعاد مسئله کوچیکه قیود کاملا برقرار و جواب بهینه است. اما وقتی ابعاد مسئله خیلی بزرگ می شود قید زیر نقص می شود و پاسخ هم بهینه بدست می اید. با توجه به توضیحات بالا من رنج اعدادم در مقادیر خیلی کوچیک محاسباتشون انجام میشه یعنی ۱e-5 ممکنه به خاطر این باشه و البته بعضی اوقات رنج اعداد رو بطرگ میکنم جواب نشدنی میشه. راهنمایی دارین در این مورد لطفا؟
    (power(2*Pij(year,h,bus,totalbus),2)+power(2*Qij(year,h,bus,totalbus),2)) =l= 4*I2(year,h,bus,totalbus)*V2(year,h,bus)

    • سلام
      من فرض میکنم داده ها و مدلتون صحیح هست. در غیر اینصورت که باید اصلاحش کنین شما.
      رنجش ممکنه مشکل ساز باشه بله.
      اینکه میفرمایید نقض میکنه دلیلی برای این فرماشتون دارین؟ و اینکه بهینه حل میشه، سالور استاتوس و مدل استاتوستون چنده؟

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *