درباره OR-Tools

OR-Tools یک نرم افزار متن باز برای بهینه سازی ترکیبی است که به دنبال یافتن بهترین راه حل برای یک مشکل از مجموعه بسیار بزرگی از راه حل های ممکن است. در اینجا چند نمونه از مشکلاتی که OR-Tools حل می کند آورده شده است:

  • مسیریابی وسیله نقلیه: مسیرهای بهینه را برای ناوگان وسایل نقلیه ای که بسته ها را با توجه به محدودیت ها تحویل و تحویل می دهند پیدا کنید (به عنوان مثال، "این کامیون نمی تواند بیش از 20000 پوند حمل کند" یا "تمام تحویل ها باید در یک پنجره دو ساعته انجام شوند").
  • زمان‌بندی: زمان‌بندی بهینه را برای مجموعه پیچیده‌ای از وظایف، که برخی از آن‌ها باید قبل از دیگران انجام شوند، روی مجموعه ثابتی از ماشین‌ها یا منابع دیگر، بیابید.
  • بسته بندی سطل زباله: تا حد امکان اشیاء با اندازه های مختلف را در تعداد ثابتی از سطل ها با حداکثر ظرفیت بسته بندی کنید.

در بیشتر موارد، مشکلاتی از این دست تعداد زیادی راه‌حل ممکن دارند - برای رایانه‌ای که نمی‌تواند همه آنها را جستجو کند. برای غلبه بر این، OR-Tools از الگوریتم های پیشرفته برای محدود کردن مجموعه جستجو استفاده می کند تا راه حل بهینه (یا نزدیک به بهینه) پیدا کند.

OR-Tools شامل حل کننده هایی برای موارد زیر است:

برنامه نویسی محدودیت
مجموعه‌ای از تکنیک‌ها برای یافتن راه‌حل‌های امکان‌پذیر برای یک مشکل که به صورت محدودیت‌ها بیان می‌شود (مثلاً یک اتاق نمی‌تواند برای دو رویداد به طور همزمان استفاده شود، یا فاصله تا محصولات باید کمتر از طول شلنگ باشد، یا بیشتر از پنج نباشد. برنامه های تلویزیونی را می توان به یکباره ضبط کرد).
برنامه نویسی خطی و مختلط اعداد صحیح
بهینه ساز خطی Glop مقدار بهینه یک تابع هدف خطی را با توجه به مجموعه ای از نابرابری های خطی به عنوان محدودیت ها (مثلاً اختصاص دادن افراد به مشاغل یا یافتن بهترین تخصیص مجموعه ای از منابع در حالی که هزینه را به حداقل می رساند) پیدا می کند. Glop و نرم افزار برنامه نویسی عدد صحیح مختلط SCIP نیز از طریق سرویس بهینه سازی اسکریپت Google Apps در دسترس هستند.
مسیریابی خودرو
یک کتابخانه تخصصی برای شناسایی بهترین مسیرهای وسیله نقلیه با توجه به محدودیت ها.
الگوریتم های نمودار
کدی برای یافتن کوتاهترین مسیرها در نمودارها، جریانهای حداقل هزینه، حداکثر جریانها و تخصیص جمع خطی.

بخش بعدی به شما کمک می کند تا به سرعت از OR-Tools استفاده کنید.