рд░рд╛рд╕реНрддреЗ рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреА рдЦрд╛рд╕ рдЬрд╛рдирдХрд╛рд░реА рдореЗрдВ рдмрддрд╛рдП рдЧрдП рддрд░реАрдХреЗ рдХреЗ рдореБрддрд╛рдмрд┐рдХ, рдмреБрдирд┐рдпрд╛рджреА рдЕрдиреБрд░реЛрдз рдореЗрдВ рдЬрд╝рд░реВрд░реА рдЗрдХрд╛рдЗрдпреЛрдВ рдХреЗ рддреМрд░ рдкрд░ рдореЙрдбрд▓, рд╢рд┐рдкрдореЗрдВрдЯ, рдФрд░ рд╡рд╛рд╣рди рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ:
- рдореЙрдбрд▓, рдкреВрд░реЗ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧ рдФрд░ рдкрд╛рдмрдВрджрд┐рдпрд╛рдВ рдХреИрдкреНрдЪрд░ рдХрд░рддрд╛ рд╣реИ. рдЗрд╕рдореЗрдВ
Shipments
рдФрд░Vehicles
, рджреЛрдиреЛрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ. - рд╢рд┐рдкрдореЗрдВрдЯ, рдЯрд╛рд╕реНрдХ рдпрд╛ рдЕрд╕рд▓ рд╢рд┐рдкрдореЗрдВрдЯ рдХреЛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ. рдЗрдирдореЗрдВ рдкрд┐рдХрдЕрдк рдФрд░ рдбрд┐рд▓реАрд╡рд░реА
VisitRequest
рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИрдВ. рд╢рд┐рдкрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд╕реЗрдЯрд┐рдВрдЧ рдФрд░ рдкрд╛рдмрдВрджрд┐рдпрд╛рдВ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВ. - рд╡рд╛рд╣рди, рд╡рд╛рд╣рдиреЛрдВ, рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдпрд╛ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЛ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ. рд╡рд╛рд╣рдиреЛрдВ рдкрд░ рднреА рд╕реНрдерд╛рдиреАрдп рд╕реЗрдЯрд┐рдВрдЧ рдФрд░ рдкрд╛рдмрдВрджрд┐рдпрд╛рдВ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВ.
рд╣рд░ рдЗрдХрд╛рдИ рдХреА рдкреНрд░реЙрдкрд░реНрдЯреА, рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝реЗрд╢рди рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрд┐рд╕реА рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддреА рд╣реИрдВ. рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА, рдХрд┐рд╕реА рдЦрд╛рд╕ рд▓реЗрд╡рд▓ рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рд╣реЛрддреА рд╣реИ. рдореЙрдбрд▓ рдХреЗ рд╣рд┐рд╕рд╛рдм рд╕реЗ рддрдп рдХреА рдЧрдИ рдкрд╛рдмрдВрджрд┐рдпрд╛рдВ, рд╕рднреА рд╢рд┐рдкрдореЗрдВрдЯ рдФрд░ рд╡рд╛рд╣рдиреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВ. рд╡рд╣реАрдВ, рд╢рд┐рдкрдореЗрдВрдЯ рдпрд╛ рд╡рд╛рд╣рдиреЛрдВ рдХреЗ рд▓рд┐рдП рддрдп рдХреА рдЧрдИ рдкрд╛рдмрдВрджрд┐рдпрд╛рдВ рдФрд░ рдкреНрд░реЙрдкрд░реНрдЯреА, рдХрд┐рд╕реА рдПрдХ рд╢рд┐рдкрдореЗрдВрдЯ рдпрд╛ рд╡рд╛рд╣рди рдХреЗ рд▓рд┐рдП рд╣реЛрддреА рд╣реИрдВ.
рд╣рд░ рдореИрд╕реЗрдЬ рдЯрд╛рдЗрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрд░реА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, ShipmentModel
(REST, gRPC), Shipment
(REST, gRPC), рдФрд░ Vehicle
(REST, gRPC) рдореИрд╕реЗрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрдЦреЗрдВ.
OptimizeToursRequest
рдкреНрд░реЙрдкрд░реНрдЯреА
рдЯреЙрдк-рд▓реЗрд╡рд▓ OptimizeToursRequest
рдореИрд╕реЗрдЬ (REST, gRPC) рдХреА рдХреБрдЫ рдРрд╕реА рдкреНрд░реЙрдкрд░реНрдЯреА рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдЖрдо рддреМрд░ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ. рдЗрдирдореЗрдВ рдпреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
searchMode
рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рддрдп рдХреА рдЧрдИ рд╢рд░реНрддреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкрд╣рд▓реЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рджрд┐рдЦрд╛рдирд╛ рд╣реИ рдпрд╛ рддрдп рд╕рдордпрд╕реАрдорд╛ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдвреВрдВрдврдирд╛ рд╣реИ.considerRoadTraffic
рдпрд╣ рдХреБрдХреА рддрдп рдХрд░рддреА рд╣реИ рдХрд┐ рд░реВрдЯрд┐рдВрдЧ рдФрд░ рдИрдЯреАрдП рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓рд╛рдЗрд╡ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдирд╣реАрдВ.populateTransitionPolylines
рд╕реЗ рдпрд╣ рддрдп рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЬрд╡рд╛рдм рдореЗрдВ рд░рд╛рд╕реНрддреЗ рдХреА рдкреЙрд▓реАрд▓рд╛рдЗрди рдФрд░ рд░рд╛рд╕реНрддреЗ рдХреЗ рдЯреЛрдХрди рджрд┐рдЦрд╛рдП рдЬрд╛рдПрдВ рдпрд╛ рдирд╣реАрдВ.
рдореЙрдбрд▓ рдХреА рдкреНрд░реЙрдкрд░реНрдЯреА
ShipmentModel
рдореИрд╕реЗрдЬ рдХреА рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдкреНрд░реЙрдкрд░реНрдЯреА (REST,
gRPC) рдореЗрдВ рдпреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
globalStartTime
рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рд╡рд╛рд╣рдиреЛрдВ рдФрд░ рд╢рд┐рдкрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП, рд░рд╛рд╕реНрддреЛрдВ рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдкрд╣рд▓рд╛ рд╕рдордп рдХреНрдпрд╛ рд╣реИ. рдХреЛрдИ рднреА рд╡рд╛рд╣рди, рдЗрд╕ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреА рдкрд╣рд▓реА рдЯреНрд░рд╛рдВрдЬрд╝рд┐рд╢рди рдФрд░ рд╢рд┐рдкрдореЗрдВрдЯ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛.globalEndTime
рд╕реЗ рд╕рднреА рд╡рд╛рд╣рдиреЛрдВ рдФрд░ рд╢рд┐рдкрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП, рд░рд╛рд╕реНрддреЗ рдореЗрдВ рд▓рдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рдмрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рд╕рдордп рдХреА рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓рддреА рд╣реИ. рдЗрд╕ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ, рдЕрд╕рд╛рдЗрди рдХрд┐рдП рдЧрдП рд╕рднреА рд╢рд┐рдкрдореЗрдВрдЯ рдФрд░ рдЯреНрд░рд╛рдВрдЬрд╝рд┐рд╢рди рдкреВрд░реЗ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП.
рд╢рд┐рдкрдореЗрдВрдЯ рдХреА рдкреНрд░реЙрдкрд░реНрдЯреА
Shipment
рдореИрд╕реЗрдЬ рдХреА рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдкреНрд░реЙрдкрд░реНрдЯреА (REST, gRPC) рдореЗрдВ рдпреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
pickups[]
рдФрд░deliveries[]
рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╢рд┐рдкрдореЗрдВрдЯ рдХреЛ рдХрд╣рд╛рдВ рд╕реЗ рдкрд┐рдХ рдЕрдк рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдХрд╣рд╛рдВ рдбреНрд░реЙрдк рдСрдлрд╝ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ.pickups[]
рдФрд░deliveries[]
рдкреНрд░реЙрдкрд░реНрдЯреА, рджреЛрдиреЛрдВVisitRequest
рдореИрд╕реЗрдЬ (REST, gRPC) рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреА рд╣реИрдВ.loadDemands
рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рд╡рд╛рд╣рди рдХреЛ рд╢рд┐рдкрдореЗрдВрдЯ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рддрдирд╛ рд▓реЛрдб рд▓реЗ рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛. рд╡рд╛рд╣рди рдХреАload_limits
(REST, gRPC) рдкреНрд░реЙрдкрд░реНрдЯреА рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╣рди рдореЗрдВ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рд╛рдорд╛рди рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ. рд▓реЛрдб рдХреА рдорд╛рдВрдЧ рдФрд░ рд╕реАрдорд╛рдПрдВ рдореЗрдВ рд▓реЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╝реНрдпрд╛рджрд╛ рдкрдврд╝реЗрдВ.penalty_cost
рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╢рд┐рдкрдореЗрдВрдЯ рдХреЛ рд╕реНрдХрд┐рдк рдХрд░рдиреЗ рдкрд░ рдХрд┐рддрдирд╛ рд╢реБрд▓реНрдХ рд▓рдЧрддрд╛ рд╣реИ. рд▓рд╛рдЧрдд рдореЙрдбрд▓ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рд▓рд╛рдЧрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╝реНрдпрд╛рджрд╛ рдкрдврд╝реЗрдВ.
рд╡рд╛рд╣рди рдХреА рдкреНрд░реЙрдкрд░реНрдЯреА
Vehicle
рдореИрд╕реЗрдЬ рдХреА рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдкреНрд░реЙрдкрд░реНрдЯреА (REST, gRPC) рдореЗрдВ рдпреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
startLocation
рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╣рди рдХреЛ рдЕрдкрдирд╛ рд░рд╛рд╕реНрддрд╛ рдХрд╣рд╛рдВ рд╕реЗ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП. рдЗрд╕ рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рдЬрд╝рд░реВрд░реА рдирд╣реАрдВ рд╣реИ. рдЕрдЧрд░ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рджреА рдЬрд╛рддреА рд╣реИ, рддреЛ рд╡рд╛рд╣рди рдХрд╛ рд░реВрдЯ рдЙрд╕ рдЬрдЧрд╣ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЙрд╕реЗ рдкрд╣рд▓реА рдмрд╛рд░ рд╢рд┐рдкрдореЗрдВрдЯ рдЕрд╕рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ.endLocation
рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╣рди рдХрд╛ рд░рд╛рд╕реНрддрд╛ рдХрд╣рд╛рдВ рдЦрддреНрдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП. рдЗрд╕ рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рдЬрд╝рд░реВрд░реА рдирд╣реАрдВ рд╣реИ. рдЕрдЧрд░ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рджреА рдЬрд╛рддреА рд╣реИ, рддреЛ рд╡рд╛рд╣рди рдХрд╛ рд░реВрдЯ рдЙрд╕ рдЬрдЧрд╣ рдкрд░ рдЦрддреНрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЙрд╕реЗ рдЖрдЦрд┐рд░реА рдмрд╛рд░ рд╢рд┐рдкрдореЗрдВрдЯ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рдерд╛.startTimeWindows[]
рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╡рд╛рд╣рди рдХрдм рдЕрдкрдирд╛ рд░рд╛рд╕реНрддрд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ. рдЗрд╕ рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдирд╛ рдЬрд╝рд░реВрд░реА рдирд╣реАрдВ рд╣реИ.endTimeWindows[]
рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡рд╛рд╣рди рдХрдм рдЕрдкрдирд╛ рд░рд╛рд╕реНрддрд╛ рд╢реБрд░реВ рдФрд░ рдЦрддреНрдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ. рджреЛрдиреЛрдВ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреА рд╡реИрд▓реНрдпреВ рджреЗрдирд╛ рдЬрд╝рд░реВрд░реА рдирд╣реАрдВ рд╣реИ.loadLimits
рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рд╢рд┐рдкрдореЗрдВрдЯ рдХреА рдорд╛рдВрдЧ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд╛рд╣рди рдХреА рдХрд┐рддрдиреА рдХреНрд╖рдорддрд╛ рдЙрдкрд▓рдмреНрдз рд╣реИ. рд▓реЛрдб рдбрд┐рдорд╛рдВрдб рдФрд░ рд╕реАрдорд╛рдПрдВ рдореЗрдВ рд▓реЛрдб рдбрд┐рдорд╛рдВрдб рдФрд░ рд╕реАрдорд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╝реНрдпрд╛рджрд╛ рдкрдврд╝реЗрдВ.
JSON рдлрд╝реЙрд░реНрдореИрдЯ рдореЗрдВ рдЕрдиреБрд░реЛрдз рдХрд╛ рдкреВрд░рд╛ рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
{
"model": {
"shipments": [
{
"pickups": [
{
"arrivalLocation": {
"latitude": 37.73881799999999,
"longitude": -122.4161
}
}
],
"deliveries": [
{
"arrivalLocation": {
"latitude": 37.79581,
"longitude": -122.4218856
}
}
]
}
],
"vehicles": [
{
"startLocation": {
"latitude": 37.73881799999999,
"longitude": -122.4161
},
"endLocation": {
"latitude": 37.73881799999999,
"longitude": -122.4161
},
"costPerKilometer": 1.0
}
],
"globalStartTime": "2024-02-13T00:00:00.000Z",
"globalEndTime": "2024-02-14T06:00:00.000Z"
}
}
OptimizeTours
рдФрд░ BatchOptimizeTours
, рджреЛрдиреЛрдВ рд╣реА рдЕрдиреБрд░реЛрдз рд╡рд╛рд▓реЗ рдореИрд╕реЗрдЬ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╣реИрдВ. рдЬреИрд╕реЗ, рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ. рд╣рд╛рд▓рд╛рдВрдХрд┐, рджреЛрдиреЛрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ. рд░рд╛рд╕реНрддреЗ рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рд╕рдордЭрдирд╛ рдЬрд╝рд░реВрд░реА рд╣реИ рдХрд┐ рдЗрди рджреЛрдиреЛрдВ рддрд░реАрдХреЛрдВ рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ:
OptimizeTours рдФрд░ BatchOptimizeTours рдХреА рддреБрд▓рдирд╛ рдХрд░рдирд╛