The GEDIE Model


GEDIE is the core optimisation module in PROPHET, and contains the constraints and equations that form the mathematical representation of the energy market. With the GEDIE module you have access to this model and can modify the underlying mathematical equations that define the market within the solver.

The GEDIE model is implemented using the LORE modelling language.

The LORE modelling language defines sets of model objects that represent the model data in an object orientated fashion along with the model constraints.

The LORE modelling language

LORE is an advanced Object Oriented LP modelling language. It defines the sets of model data along with the constraints that define the system.
The key elements of the LORE model are:

  • Sets – a collection of data objects that contain the model parameters and variables
  • Constraints – define the model equations
  • Pre and Post Processing statements – allow calculations to be performed in the LORE model


Sets form the core data object in the LORE model and primarily collect the model parameters and variables. Figure to the right shows the set definition for the PLANT object in the LORE model. It contains a number of model parameters (param elements), variables (var elements) and also a subset SERVICES.

When the model is built, PROPHET creates an instance of SET PLANT for each Plant in the scenario. Parameters are values available in the model in processing statements, constraint bounds and equations. They can be of integer, double, or boolean types. Variables are values that are calculated in the optimiser subject to the defined constraints. They can be of double, integer, or binary types.


Constraints define the model equations, and make use of the model sets, parameters and variables.

Figure to the left shows equations that define the nodal dispatch for both generation and load modes. Constraints have a lower and upper bound on the value the equation can take allowing for less than or equal, greater than or equal, and equality constraints to be defined.

Processing Statements

Processing statements allow calculations to be performed in the LORE model. These statements can run before the optimisation to calculate additional input parameters, or after the optimisation to calculate additional model outputs.

Figure to the right shows a number of pre-processing statements to calculate additional parameters used in the model.

More advanced usage of processing statements can create new set instances and model equations if required.

Model Inspection

LORE model data and constraints can be outputted to a database file for inspection. This provides an invaluable tool for viewing and debugging the model data and constraints.

The LORE dump viewer application allows convenient viewing of the model database in a standard web browser.