О OR-инструментах
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
OR-Tools — это программное обеспечение с открытым исходным кодом для комбинаторной оптимизации , которое стремится найти наилучшее решение проблемы из очень большого набора возможных решений. Вот несколько примеров проблем, которые решает OR-Tools:
- Маршрутизация транспортных средств: найдите оптимальные маршруты для парков транспортных средств, которые забирают и доставляют посылки с учетом ограничений (например, «этот грузовик не может вместить более 20 000 фунтов» или «все доставки должны быть выполнены в течение двух часов»).
- Планирование: найдите оптимальное расписание для сложного набора задач, некоторые из которых необходимо выполнить раньше других, на фиксированном наборе компьютеров или других ресурсов.
- Упаковка в ящики: упакуйте как можно больше предметов разного размера в фиксированное количество ящиков с максимальной вместимостью.
В большинстве случаев подобные проблемы имеют огромное количество возможных решений — слишком много, чтобы компьютер мог найти их все. Чтобы преодолеть это, OR-Tools использует современные алгоритмы, чтобы сузить набор поиска, чтобы найти оптимальное (или близкое к оптимальному) решение.
OR-Tools включает в себя решатели для:
- Программирование ограничений
- Набор приемов поиска допустимых решений проблемы, выраженный в виде ограничений (например, помещение нельзя использовать для двух мероприятий одновременно, или расстояние до посевов должно быть меньше длины шланга, но не более пяти). Телепередачи можно записывать сразу).
- Линейное и смешанное целочисленное программирование
- Линейный оптимизатор Глопа находит оптимальное значение линейной целевой функции, учитывая набор линейных неравенств в качестве ограничений (например, назначение людей на работу или поиск наилучшего распределения набора ресурсов при минимальных затратах). Glop и программное обеспечение для программирования смешанных целых чисел SCIP также доступны через Службу оптимизации сценариев Google Apps.
- Маршрут транспортного средства
- Специализированная библиотека для определения лучших маршрутов транспортных средств с учетом ограничений.
- Алгоритмы графов
- Код для поиска кратчайших путей в графах, потоков с минимальной стоимостью, максимальных потоков и назначений линейной суммы.
В следующем разделе вы быстро начнете использовать OR-Tools.
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2024-08-09 UTC.
[null,null,["Последнее обновление: 2024-08-09 UTC."],[[["\u003cp\u003eOR-Tools is an open source software that helps find the best solution among many possibilities for problems like vehicle routing, scheduling, and bin packing.\u003c/p\u003e\n"],["\u003cp\u003eIt utilizes advanced algorithms to efficiently search for optimal or near-optimal solutions without having to examine every single possibility.\u003c/p\u003e\n"],["\u003cp\u003eOR-Tools offers various solvers including constraint programming, linear and mixed-integer programming, vehicle routing, and graph algorithms for diverse problem-solving needs.\u003c/p\u003e\n"],["\u003cp\u003eThese solvers can tackle complex scenarios with limitations like resource capacities, scheduling dependencies, and route optimization.\u003c/p\u003e\n"]]],["OR-Tools tackles combinatorial optimization problems, aiming to find the best solution from numerous possibilities. It addresses challenges like vehicle routing, scheduling, and bin packing. The software uses advanced algorithms to efficiently narrow the search for optimal solutions. It features solvers for Constraint Programming, handling problems with constraints, Linear and Mixed-Integer Programming for optimizing linear functions, specialized Vehicle Routing, and Graph Algorithms for path and flow calculations. OR-Tools can help in the process of finding feasible or optimal solutions.\n"],null,["# About OR-Tools\n\nOR-Tools is open source software for *combinatorial optimization*, which seeks\nto find the best solution to a problem out of a very large set of possible\nsolutions. Here are some examples of problems that OR-Tools solves:\n\n- Vehicle routing: Find optimal routes for vehicle fleets that pick up and deliver packages given constraints (e.g., \"this truck can't hold more than 20,000 pounds\" or \"all deliveries must be made within a two-hour window\").\n- Scheduling: Find the optimal schedule for a complex set of tasks, some of which need to be performed before others, on a fixed set of machines, or other resources.\n- Bin packing: Pack as many objects of various sizes as possible into a fixed number of bins with maximum capacities.\n\nIn most cases, problems like these have a vast number of possible\nsolutions---too many for a computer to search them all.\nTo overcome this, OR-Tools uses state-of-the-art algorithms to narrow down the\nsearch set, in order to find an optimal (or close to optimal) solution.\n\nOR-Tools includes solvers for:\n\n[Constraint Programming](/optimization/cp)\n: A set of techniques for finding feasible solutions to a problem expressed as\n *constraints* (e.g., a room can't be used for two events simultaneously, or the\n distance to the crops must be less than the length of the hose, or no more than\n five TV shows can be recorded at once).\n\n[Linear and Mixed-Integer Programming](/optimization/lp)\n: The [Glop](/optimization/lp/glop) linear optimizer finds the optimal value of\n a linear objective function, given a set of linear inequalities as constraints\n (e.g., assigning people to jobs, or finding the best allocation of a set of\n resources while minimizing cost). Glop and the mixed-integer programming\n software [SCIP](http://scip.zib.de) are also available via the Google Apps\n Script [Optimization Service](/apps-script/reference/optimization).\n\n[Vehicle Routing](/optimization/routing)\n: A specialized library for identifying best vehicle routes given constraints.\n\n[Graph Algorithms](/optimization/flow)\n: Code for finding shortest paths in graphs, min-cost flows, max flows, and\n linear sum assignments.\n\nThe [next section](/optimization/introduction/get_started) will get you started\nusing OR-Tools quickly."]]