Defining Controlled Events (DPL Code)

It is occasionally convenient to define events whose states are not associated with sets of probabilities and are not optimized by DPL. Instead, the states are determined by logic that you specify in a program. In DPL, they are called controlled events since you control their states with commands or program statements.

You can summarize a complex situation in a decision problem by setting the state of a controlled event in the sequence section (decision tree). That event's state will not change again unless you reset it. DPL will not change the state of a controlled event during analysis like it does with decision and chance events. Other events and values can depend on the state of a controlled event, in the same way that they can depend on the state of a decision or chance event. Describing how events and values depend on a controlled event is often easier than specifying all the logic that you used to set the state of that event.

The following statement defines a controlled event in DPL.

controlled AchieveOrbit.{Yes,No};

The keyword controlled identifies the type of event being defined. The controlled event's name is AchieveOrbit. It has two states called Yes and No. In a program, you refer to the states as AchieveOrbit.Yes and AchieveOrbit.No.

If you wish to associate value expressions with the states of a controlled event, enter them after the state names.

controlled AchieveOrbit.{Yes,No} = 500,-10;

Versions: DPL Professional, DPL Enterprise, DPL Portfolio

See Also

The Definition Section

The Sequence Section