FRAMES NO FRAMES

Transition Costs
PREVIOUS NEXT
Description
Transition Cost Defined with a Transition Parameter
Transition Cost Defined with a Transition Cost Object
Description

A unary resource can only process one activity at a time, so all activities requiring the same unary resource must be chronologically ordered to find a solution. As a result, in any solution to a problem that includes a unary resource, each unary resource defines a directed path through all the activities requiring it.

Between each pair of consecutive activities, some cost may be incurred to switch the resource from processing the first activity to processing the second. These costs may be related to modifications to the resource that require manpower, material, and energy, such as adjusting or purging a machine.

In Scheduler, transition cost is defined as the cost between an activity and the activity that will execute next to it on a unary resource. In addition, Scheduler lets you define a setup cost for the activity that starts the usage of the resource, and a teardown cost for the activity that ends the usage of the resource.

Several transition costs (instances of IloTransitionCost) can be created on a unary resource.

An instance of IloTransitionCost associates a unary resource with either a transition parameter (instance of IloTransitionParam) or a user defined transition cost object (subclass of IloTransitionCostObject).

Once a transition cost has been defined on a unary resource, the sum of the costs, the setup and teardown costs on the resource, and the cost of the next and previous transitions of a given activity can be accessed as instances of IloNumVar variables (see Cost Types Figure).

Transition Cost Defined with a Transition Parameter

A transition parameter (instance of IloTransitionParam) is a square table describing the transition between activities, with two arrays describing the activity setup and teardown values. Scheduler associates an integer transition type with each activity. The accessors are the functions IloActivity::getTransitionType and IloActivity::setTransitionType. They allow you to define instances of IloTransitionCost from IloTransitionParam, where the arrays are indexed by the transition types of activities.

Transition Cost Defined with a Transition Cost Object

A transition cost object is a subclass of IloTransitionCostObject defined with the macro ILOTRANSITIONCOSTOBJECT0.

This macro makes it easy to define your own transition cost together with its extraction function in case a simple square table as the one provided by IloTransitionParam is not sufficient.

Cost Types Figure

This figure shows an example of setup, transition, and teardown costs.

See Also

IloTransitionCost, IloTransitionParam, IloTransitionCostObject, ILOTRANSITIONCOSTOBJECT0, IloUnaryResource.

PREVIOUS NEXT