MathOpt چیست؟

MathOpt یک کتابخانه برای مدل‌سازی و حل مسائل بهینه‌سازی ریاضی، به عنوان مثال، مسائل برنامه‌نویسی خطی (LPs) یا مسائل برنامه‌نویسی عدد صحیح مختلط (MIPs) است. MathOpt مدل‌سازی را از حل جدا می‌کند و به کاربران اجازه می‌دهد تا با تغییر یک enum (و یک وابستگی ساخت) بین روش‌های راه‌حل جابجا شوند تا حل‌کننده خود را انتخاب کنند.

برای معرفی مختصر MathOpt از ارائه کنفرانس JuMP 2023، این ویدیو را تماشا کنید.

ویژگی های MathOpt

مدل های MathOpt می توانند شامل موارد زیر باشند:

  • متغیرهای عدد صحیح یا پیوسته
  • محدودیت های خطی یا درجه دوم
  • اهداف خطی یا درجه دوم
  • اهداف سلسله مراتبی متعدد
  • محدودیت های تخصصی MIP (SOS، نشانگر، موارد دیگر)
  • برخی از محدودیت های مخروطی (مخروط مرتبه دوم، موارد بیشتری در آینده)

مدل‌ها مستقل از هر حل‌کننده‌ای تعریف می‌شوند و حل‌کننده‌ها را می‌توان به جای یکدیگر تعویض کرد. MathOpt از حل کننده های زیر پشتیبانی می کند:

MathOpt کتابخانه های کلاینت را در C++ و Python برای ساخت مدل بهینه سازی شما فراهم می کند.

MathOpt از بسیاری از ویژگی های پیشرفته پشتیبانی می کند، از جمله:

  • تجزیه و تحلیل غیرممکن (مجموعه غیرقابل تحقق ناپذیر یا IIS)، فقط Gurobi
  • حل افزایشی
  • تماس های تلفنی
  • ثنویت
  • پرتوهای اولیه و دوگانه
  • راه حل های اولیه و دوگانه کمتر از حد بهینه
  • حذف های متغیر و محدودیت
  • شروع گرم (بر اساس محلول یا پایه)
  • دلیل فسخ مفصل
  • اولویت انشعاب
  • وقفه
  • بسیاری از پارامترهای مستقل از حل کننده