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.