Informazioni su OR-Tools
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
OR-Tools è il software open source per l'ottimizzazione combinata, che cerca
di trovare la soluzione migliore a un problema tra una vastissima serie di possibili soluzioni. Di seguito sono riportati alcuni esempi di problemi risolti con OR-Tools:
- Routing dei veicoli: trova percorsi ottimali per le flotte di veicoli che ritirano e consegnano i pacchi a causa di limitazioni (ad esempio "questo camion non può contenere più di 15.000 kg" o "tutte le consegne devono essere effettuate entro due ore".
- Pianificazione: individua la pianificazione ottimale per un insieme complesso di attività, alcune delle quali devono essere eseguite prima di altre, su un set fisso di macchine o altre risorse.
- Imballaggio bin: raccogli il maggior numero possibile di oggetti di varie dimensioni in un numero fisso di bin con capacità massime.
Nella maggior parte dei casi, problemi come questi hanno una vasta gamma di possibili soluzioni, troppe per fare in modo che un computer le cerchi tutte.
Per ovviare a questo problema, OR-Tools utilizza algoritmi all'avanguardia per restringere il set di ricerca, in modo da trovare una soluzione ottimale (o quasi).
OR-Tools include risolutori per:
- Programmazione dei vincoli
- Un insieme di tecniche per trovare soluzioni applicabili a un problema espresso come limiti (ad es. una stanza non può essere utilizzata per due eventi contemporaneamente o la distanza tra i colpi deve essere inferiore alla lunghezza del tubo o non è possibile registrare più di cinque programmi TV contemporaneamente).
- Programmazione con numeri interi e misti
- Lo strumento di ottimizzazione lineare Glop trova il valore ottimale di
una funzione dell'obiettivo lineare, dato un insieme di disuguaglianze lineari come vincoli
(ad esempio, assegnando le persone ai lavori o trovando la migliore allocazione di un insieme di risorse, riducendo al minimo i costi). Glop e il software di programmazione a numeri interi SCIP sono disponibili anche tramite il Servizio di ottimizzazione di Google Apps Script.
- Routing del veicolo
- Una raccolta specializzata per identificare i percorsi migliori dei veicoli in base ai vincoli.
- Algoritmi di grafica
- Codice per individuare i percorsi più brevi nei grafici, nei flussi minimi, nei flussi massimi e nelle assegnazioni di somma lineare.
Nella sezione successiva inizierai a utilizzare rapidamente OR-Tools.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-08-09 UTC.
[null,null,["Ultimo aggiornamento 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."]]