Skip to content

Latest commit

 

History

History
72 lines (39 loc) · 4.65 KB

File metadata and controls

72 lines (39 loc) · 4.65 KB

Objective

Properties

Name Type Description Notes
Type string Type of objective function, i.e. `min` or `min-max`. * `min`: Minimizes the objective value. * `min-max`: Minimizes the maximum objective value. For instance, `min` -> `vehicles` minimizes the number of employed vehicles. `min` -> `completion_time` minimizes the sum of your vehicle routes' completion time. If you use, for example, `min-max` -> `completion_time`, it minimizes the maximum of your vehicle routes' completion time, i.e. it minimizes the overall makespan. This only makes sense if you have more than one vehicle. In case of one vehicle, switching from `min` to `min-max` should not have any impact. If you have more than one vehicle, then the algorithm tries to constantly move stops from one vehicle to another such that the completion time of longest vehicle route can be further reduced. For example, if you have one vehicle that takes 8 hours to serve all customers, adding another vehicle (and using `min-max`) might halve the time to serve all customers to 4 hours. However, this usually comes with higher transport costs. If you want to minimize `vehicles` first and, second, `completion_time`, you can also combine different objectives like this: ```json "objectives" : [ { "type": "min", "value": "vehicles" }, { "type": "min", "value": "completion_time" } ] ``` If you want to balance activities or the number of stops among all employed drivers, you need to specify it as follows: ```json "objectives" : [ { "type": "min-max", "value": "completion_time" }, { "type": "min-max", "value": "activities" } ] ``` [default to "min"]
Value string The value of the objective function. The objective value `transport_time` solely considers the time your drivers spend on the road, i.e. transport time. In contrary to `transport_time`, `completion_time` also takes waiting times at customer sites into account. The `completion_time` of a route is defined as the time from starting to ending the route, i.e. the route's transport time, the sum of waiting times plus the sum of activity durations. Note that choosing `transport_time` or `completion_time` only makes a difference if you specified time windows for your services/shipments since only in scenarios with time windows waiting times can occur. The objective value `vehicles` can only be used along with `min` and minimizes vehicles. [default to "transport_time"]

Methods

NewObjective

func NewObjective(type_ string, value string, ) *Objective

NewObjective instantiates a new Objective object This constructor will assign default values to properties that have it defined, and makes sure properties required by API are set, but the set of arguments will change when the set of required properties is changed

NewObjectiveWithDefaults

func NewObjectiveWithDefaults() *Objective

NewObjectiveWithDefaults instantiates a new Objective object This constructor will only assign default values to properties that have it defined, but it doesn't guarantee that properties required by API are set

GetType

func (o *Objective) GetType() string

GetType returns the Type field if non-nil, zero value otherwise.

GetTypeOk

func (o *Objective) GetTypeOk() (*string, bool)

GetTypeOk returns a tuple with the Type field if it's non-nil, zero value otherwise and a boolean to check if the value has been set.

SetType

func (o *Objective) SetType(v string)

SetType sets Type field to given value.

GetValue

func (o *Objective) GetValue() string

GetValue returns the Value field if non-nil, zero value otherwise.

GetValueOk

func (o *Objective) GetValueOk() (*string, bool)

GetValueOk returns a tuple with the Value field if it's non-nil, zero value otherwise and a boolean to check if the value has been set.

SetValue

func (o *Objective) SetValue(v string)

SetValue sets Value field to given value.

[Back to Model list] [Back to API list] [Back to README]