Ta strona opisuje zaawansowane funkcje OptiFacility dotyczące pojemności (dla sytuacji zbierania i rozwożenia produktów). Zanim przeczytasz tę część, zapoznaj się z podstawowymi możliwościami OptiFacility.
Następujący plik json definiuje przykład zadania z ograniczeniami pojemności. Dodatki do podstawowego pliku json są podświetlone:
{ "UserID": "demo", "RequestID": 12348, "Comment": "my first request with capacity constraints", "Quality": 2, "AgentSpeed": 45.0, "AgentWorkTime": 8.0, "AgentVisitTime": 1.0, "CostAgentWork1h": 70.0, "CostAgentTravel1km": 1.0, "Products": 3, "Facilities": [{"Lat":51.929, "Lon":18.614}, {"Lat":52.057, "Lon":19.176, "ChangeInProducts":[0,-7,0]}, {"Lat":51.989, "Lon":18.588, "ChangeInProducts":[10,0,0]}, {"Lat":51.864, "Lon":18.764, "ChangeInProducts":[-10,0,-15]}, {"Lat":51.89, "Lon":19.098, "ChangeInProducts":[-10,0,0]}, {"Lat":52.014, "Lon":18.889, "ChangeInProducts":[0,0,30]}], "Agents":[{"Lat":51.768, "Lon":19.094, "CapacityForProducts":40}], "Task": "FindRoutesCommutingIncluded" }
Poniżej opisane są pola definiujące ograniczenia pojemności:
Products
– deklaracja liczby różnych typów produktów, które powinny zostać odebrane/dostarczone.Facilities: ChangeInProducts
– tablica liczb całkowitych, które odzwierciedlają zmiany w pojemności produktów u pracownika odwiedzającego ten obiekt. Wartości w tablicy mogą być interpretowane jako zmiana objętości zajmowanej przez produkty (można oczywiście przyjąć dla uproszczenia, że jeden produkt wykorzystuje jedną jednostkę objętości). Na przykład tablica [-10, 25] zostanie zinterpretowana jako "wizyta w tym obiekcie zabiera pracownikowi 10 jednostek objętości produktu #1 i zwalnia 25 jednostek objętości produktu #2".Rozmiar tablicy powinien odpowiadać tablicy zdefiniowanej w "Products". Jeśli "ChangeInProducts" nie jest zdefiniowany dla obiektu, to zakłada się, że ta tablica składa się z samych zer.
Agents: CapacityForProducts
– liczba całkowita określająca sumaryczną pojemność samochodu/ciężarówki pracownika.
Konkretna jednostka fizyczna powierzchni lub objętości nie jest narzucona, ale oczywiście jednostki używane w polach "ChangeInProducts" obiektu powinny odpowiadać jednostkom używanym w polach "CapacityForProducts" pracownika.