PLEXOS 7.5 Release Notes
- Upgrade Compatibility
- Changes
- Performance
- Features
- New Attributes
- New Input Properties
- New Reporting Properties
1. Upgrade Compatibility
This version will automatically upgrade any previous Version 5-7 database. You may need to check the upgrade notes of earlier releases for any compatibility issues.
If you experience any problems during upgrade contact Energy Exemplar Support.
If your simulations run differently or slower in this version, also seek support and we will assist with the upgrade process.
Databases in 7.5 format will retro-grade to any previous Version 7.x however please check upgrade compatibility notes for all previous versions. In addition, the databases from PLEXOS Enterprise, currently a Beta version, can be downgraded to the 7.5 format.
2. Changes
The following are the changes to existing functionality between this version and 7.4:
- The user interface component has been upgraded to use .NET 4.6.1., whereas the engine component continues to use.NET 4.5.
- The LP file constraints and variables will now be re-ordered compared to 7.4. Note: If you do wish to re-order them for comparison, then the undocumented generic writer can be used (with its sort functionality).
- The variable generation code has been modified, which directly impacts the random number draws. Therefore, it will be highly likely that your sampled variable values will be different in this version.
- The outage generation code has also had some modifications. This directly impacts the random number draws, which will ultimately result in different outage patterns being drawn.
- If you use the "Connect" functionality, within the UI, then you will need to upgrade your PLEXOS Connect version to 3.0.
- Certain objects, like batteries and all water related objects, are internally processed and generated from existing objects. In earlier versions these objects would internally have a prefix appended to them, for example "Battery A" would be named "Bat_Battery A". This meant that you had to explicitly include this prefix in any data files which uses the object names. This was actually a general work-around for this issue. In this version, the data file is now expecting the real name, rather than expecting the prefix to be present.
- If the "repair time distribution" is not defined on an object, then no outages are modelled and an appropriate warning is issued. In previous versions no warning was issued.
- The Data file Holiday property was not using the Yes/No values and simply included it as a holiday if defined. The Yes/No flags are now read as expected, so to produce the same data file build results please ensure all Holidays are set to "Yes".
- When a conditional variable is used for a Constraint Variables Value Coefficient the value returned is a Boolean value (zero or minus one). In the previous versions the boolean value returned would be a zero or a positive one. Therefore, the user will need to update their Value Coefficient settings to produce the same result. In addition to this, the previous versions also incorrectly scaled the Value Coefficient by the number of hours in the interval.
2.1. Solver Updates
The following solvers were updated as part of this update release.
Solver | Version | Release Notes |
---|---|---|
ILOG CPLEX | 12.7.1 | https://www.ibm.com/support/knowledgecenter/SSSA5P_12.7.1/ilog.odms.studio.help/Optimization_Studio/topics/COS_relnotes_intro.html |
MOSEK | 8.0.0.91 | http://docs.mosek.com/8.0/releasenotes/index.html |
FICO Xpress | 31.1.2.0 | - |
3. Performance
Several optimizations have been made to the simulation engine and user interface codes, which will improve performance, especially in simulations that have a large number of steps/objects.
The following changes and/or new features specifically address performance of the simulation:
- Templates - the template processing time is a component of the "Compiled File" time. This has been significantly improved, especially for larger models.
- Outage creation and step bridging - some slowness in these area were detected and improvements have been made on both aspects.
- General simulation speed improvements - this covers input data parsing and solution calculations.
- Formulation improvements - more variables/constraints are dropped when they are not required. These would normally be presolved out of the formulation, but of course it's more efficient to omit them.
- Data file reading - speed improvements for file reading. Re-organized and file cache structure allowing for much faster accessing of the file data from the Model.
- Variable Sampling - the sampling time for models with large horizons can be quite time consuming, especially if many variables are defined.
- Summary output solution data - refactoring and speed improvements were made, particularly improving the overall runtime for multi-sample models.
User interface speed improvements include:
- Improved export functionality for the "heat map" charts.
- Optimized solution querying, when viewing multiple series.
4. Features
4.1. LDC Slicing Group Options
This feature allows the user to define custom slicing groups, which can be used to prevent "unlike" intervals being mixed, i.e. mutually exclusive period groups can be defined (e.g. day/night or summer/winter). These groups are then used during the LDC creation/slicing, where X number of blocks are reserved to represent group A and Y blocks for group B. A LDC is built for each period group and the slicing is done on these duration curves, using the newly allocated block counts. Finally the intervals/periods are mapped accordingly, making sure that intervals from the various groups are not combined in a single simulation period. Please note that this is only applicable to non-chronological phases.
This feature can be enabled using the "GlobalLDCPattern" undocumented parameter. The input for this is a multi-band string value, where each string represents a timeslice, e.g.
- Band 1: H1-6,19-24
- Band 2: H7-18
Here we are defining one group for the hours of 1 to 6 and 19 to 24, i.e. "night time" hours. The second group has hours 7 to 18 defined, i.e. "day time" hours. Any pattern type's can be defined, for example a user may want to explicitly defined seasons, so can create four slicing groups.
4.2. Optimized Conditional Constraints
An undocumented parameter has been exposed allowing the user to specify the method for dealing with the conditional constraints. By default the conditions are evaluated iteratively, but this new option allows them to be optimized. See Constraint Condition Method in the 7.5 table.
Note that this feature can only be applied to constraints, where the condition is dynamic and it does not define certain squared terms (e.g. Generation Squared Coefficient).
4.3. Sub-minute Modelling
The Periods per Day can now be set to a value of 86,400, which equates to a simulation resolution as low as one second, allowing detailed analysis of fast response systems, e.g. Battery energy storage systems (BESS). The example below shows the results of a simulation, with a 4 second resolution.
Figure 1: Sub-second Simulation Results4.4. Aged-based Degradation
A major feature implemented in this version is the ability to model age-based degradation of generation units. Please see the aged based degradation article for more details.
4.5. Algebraic Diagnostic Writer
The algebraic diagnostic feature forms part of the generic writer feature (please see the Generic Writer undocumented solver parameters - PLEXOS_SolverParam.xml). The parameter to enable this is named "Algebraic" and is a simple boolean value (True=On, False=Off).
\Problem name: Base \ variables: 144 integers: 0 \ constraints: 72 nonzeros: 191
A small but typical example will look like:
Example:
Minimize
Obj:
+ 100000 NodUSE_*{1,...,24}
+ 10 GenLoad_*{1,...,24}
Subject To
Energy_*{0}{1,...,24}:
+ ZonInj_*
- Loss_*
+ NodUSE_*
= [0.8, 1]
ZonInjDef_*{1,...,24}:
- ZonInj_*
+ NodUSE_*
+ GenLoad_*
= 0
LossDef_*{0}{1,...,24}:
- Loss_*
= 0
Bounds
ZonInj
0 ≤ NodUSE ≤ [0, 0.6]
0 ≤ GenLoad ≤ 1
End
4.6. Generator Transition
A new "Transition" collection has been added, allowing a user to define a transition process between a generator and the target group of generators with an associated transition cost. This feature is very useful for modelling typical CCGT (Combined Cycle Gas Turbine) setup, where transition relationship between the primary generator and secondary generators can be defined with applicable costs.
4.7. Gas Transport
This latest version includes the Gas Transport class, where the user can define gas shipping contracts. The class includes a number of properties to accurately model shipping schedules, e.g. Loading Time, Discharge Time, etc. For a full list of new properties please see the property reference page.
4.8. Custom Warnings/Errors
Custom messages can now be defined in a user database, which will be processed and raised in the simulation engine. Ultimately, custom conditions can now be added which are tested at run-time, and if the condition is met then the appropriate warning/error is raised. For example a custom check/message may be applied to a specific transmission line, which would be raised when the flow exceeds a known value. This type of condition/warning could be used for checking when unexpected values are produced, which could be the result of badly defined data.
Database Settings Window - Custom Messages4.9. Rounded Relaxation Commitment Model
The rounded relaxation algorithm has been extended to work in two distinct modes or commitment models. These are:
- Central - this is the default method of unit commitment, using the standard heuristic approach (existing functionality).
- Self - this option treats the unit commitment as soft constraints, applying appropriate violation penalties to allow a potential variation in generation (new feature)
5. New Attributes
New attributes are:
Class | Property | Description |
---|---|---|
Market | Unit Commitment | If Market [Buy/Sell Unit] properties act like unit commitment or apply independently every period. |
LT Plan | Sampling Interval | For Chronology = "Sampled", take [Sample Type] samples in each of these intervals of time. |
MT Schedule | Sampling Interval | For Chronology = "Sampled", take [Sample Type] samples in each of these intervals of time. |
Production | Rounded Relaxation Commitment Model | Determines if the unit commitment decisions are made centrally or by self-commitment. |
Production | Forced Outage Relaxes Min Down Time | If ramp constraints should all be formulated upfront rather than checked iteratively. |
Competition | Demand Scaling | If Nash-Cournot result scales input loads to reflect price elasticity of demand. |
Diagnostic | Sample From | Limit diagnostic file writing to sample numbers starting at this number. |
Diagnostic | Sample To | Limit diagnostic file writing sample numbers ending at this number (-1 means infinity). |
6. New Input Properties
New input properties are:
Collection | Property | Description | Relates To |
---|---|---|---|
Generator | Initial Age | Average age of units at the start of the simulation horizon | Initial Conditions |
Generator | Max Release | Maximum rate of release from each units | Hydro;Constraints |
Battery | Energy Target | Battery stored energy target | Constraints |
Battery | Energy Target Hour | End of hour battery stored energy target | Constraints |
Battery | Energy Target Day | End of day battery stored energy target | Constraints |
Battery | Energy Target Week | End of week battery stored energy target | Constraints |
Battery | Energy Target Month | End of month battery stored energy target | Constraints |
Battery | Energy Target Year | End of year battery stored energy target | Constraints |
Battery | Energy Target Penalty | Penalty for violating the battery stored energy target | Constraints |
Battery | Non-anticipativity | Price for violating non-anticipativity constraints in scenario-wise decomposition mode | Stochastic |
Battery | Non-anticipativity Time | Window of time over which to enforce non-anticipativity constraints in scenario-wise decomposition | Stochastic |
Battery | Initial Age | Average age of units at the start of the simulation horizon | Initial Conditions |
Battery | Capacity Degradation | Annual degradation in capacity with age | Capacity |
Battery | Build Non-anticipativity | Price for violating non-anticipativity constraints in scenario-wise decomposition mode | Capacity Expansion;Stochastic |
Battery | Retired Non-Anticipativity | Price for violating non-anticipativity constraints in scenario-wise decomposition mode | Capacity Expansion;Stochastic |
Gas Contract | Price Setting | Flag if the gas contract can set price at the Gas Node | Pricing |
Gas Transport | Voyage Time | Time taken for the voyage from Export Node to Import Node | - |
Gas Transport | Loading Time | Time taken to load gas into the transport | - |
Gas Transport | Discharge Time | Time taken to unload gas from the transport | - |
Gas Transport | Min Volume | The minimum volume of gas allowed feasible for transport | - |
Gas Transport | Max Volume | The maximum volume of gas the transport can carry | - |
Gas Transport | Shipping Charge | The per unit cost of shipping the gas on the transport | Variable Cost |
Gas Transport | Boil Off Rate | Rate of boil off of gas during the voyage | - |
Gas Transport | Max Shipments | Maximum number of voyages | Constraints |
Gas Transport | Max Shipments Hour | Maximum hourly number of voyages | Constraints |
Gas Transport | Max Shipments Day | Maximum daily production of gas from the basin | Constraints |
Gas Transport | Max Shipments Week | Maximum weekly production of gas from the basin | Constraints |
Gas Transport | Max Shipments Month | Maximum monthly production of gas from the basin | Constraints |
Gas Transport | Max ShipementsYear | Maximum annual production of gas from the basin | Constraints |
Gas Transport | x | Value to pass-through to solution | - |
Gas Transport | y | Value to pass-through to solution | - |
Gas Transport | z | Value to pass-through to solution | - |
Decision Variable | Non-Anticipativity | Price for violating non-anticipativity constraints in scenario-wise decomposition mode | Stochastic |
Decision Variable | Non Anticipativity Time | Window of time over which to enforce non anticipativity constraints in scenario-wise decomposition | Stochastic |
Data File | Minimum | Minimum value of the created profile | - |
Gas Plants | Production Rate | Emissions produced per unit of gas | Emissions |
Water Plants | Share | Company's share of the gas demand | Competition |
Companies | Share | Company's share of the gas demand | Competition |
Constraint Generators | Waste Heat Coefficient | Coefficient of waste heat | Heat |
Constraint Generators | Age Coefficient | Coefficient on the number of years since the expansion candidate was built | Capacity Expansion |
Constraint Fuels | Generation Coefficient | Coefficient of generation with given fuel | - |
Batteries | Energy Coefficient | Coefficient of energy stored in the BESS | - |
Batteries | Age Coefficient | Coefficient on the number of years since the expansion candidate was built | Capacity Expansion |
Gas Plants | Energy Usage Coefficient | Coefficient of energy usage of the Gas Plant | - |
Constraint Gas Pipelines | End Volume Coefficient | Coefficient of gas in storage | - |
Constraint Interfaces | Flow Coefficient | Coefficient of flow | Power Flow |
Decision Variable Generators | Heat Input Definition Coefficient | Coefficient of the Decision Variable in the Generator Heat Input definition equation | - |
Decision Variable Gas Plants | Energy Usage Definition Coefficient | Coefficient of the Decision Variable in the Gas Plant Energy Usage definition equation | - |
Water Plants | Energy Usage Definition Coefficient | Coefficient of the Decision Variable in the Water Plant Energy Usage definition equation | - |
Generator | Transition Type | If the generator can transition between a single generator or to a group of generators | Unit Commitment |
Generator Transition | Transition Cost | Cost required for a Generator transition | Unit Commitment |
Constraint Gas Transports | Shipments Coefficient | Coefficient of gas transport voyage count | - |
7. New Reporting Properties
New reporting properties are:
Collection | Property | Description |
---|---|---|
Storage | Inflow Rate | Inflow |
Storage | Release Rate | Total releases from storage |
Storage | Natural Inflow Rate | Rate of natural inflow |
Storage | Generator Release Rate | Release for generation |
Storage | Downstream Release Rate | Release downstream via waterways |
Storage | Spill Rate | Spill to "the sea" |
Battery | Energy | Energy stored in the BESS |
Gas Pipeline | Hours Congested | Number of hours the pipeline is congested in the reference direction |
Gas Pipeline | Hours Congested Back | Number of hours the pipeline is congested in the counter-reference direction |
Gas Node | Price | Settlement price for gas at the gas node |
Gas Demand Companies | Demand | Gas Demand |
Gas Demand Companies | Shortage | Shortage of gas supply |
Gas Demand Companies | Shortage Cost | Cost of gas supply shortages |
Gas Demand Companies | Excess | Excess of gas supply |
Gas Demand Companies | Excess Cost | Cost of gas excesses |
Gas Demand Companies | Net Demand | Gas demand net of shortages and excesses |
Gas Demand Companies | Cost | Cost of gas demand |
Gas Node From | Participation Factor | Percentage of total Gas Node inflow from a given exporting Gas Pipeline |
Gas Node To | Participation Factor | Percentage of total gas node inflow from a given importing Gas Pipeline |
Gas Transport | Imports | Gas discharged at the import gas node |
Gas Transport | Exports | Gas loaded at the export gas node |
Gas Transport | Losses | Gas lost during the voyage |
Gas Transport | Contract Imports | Delivered gas associated with gas contracts |
Gas Transport | Spot Imports | Delivered gas associated with spot market shipments |
Gas Transport | Shipping Cost | Cost of shipping |
Gas Transport | x | Pass-through value (summed in summary) |
Gas Transport | y | Pass-through value (summed in summary) |
Gas Transport | z | Pass-through value (averaged in summary) |
Water Plant | Energy Consumption | The total electric and heat consumption of the Water Plant |
Water Plant | Electric Load | The part of the [Energy Consumption] met by electric |
Water Plant | Heat Load | The part of the [Energy Consumption] |
Water Pipeline | Hours Congested | Number of hours the pipeline is congested in the reference direction |
Water Pipeline | Hours Congested Back | Number of hours the pipeline is congested in the counter-reference direction |
RSI | Import Capacity | Import Capacity |
Generator | Raw Rating | Rated capacity of units (excluding any outage derating) |
Generator Transition | Transition Cost | Cost of transitioning to another generator |
Generator Transition | Transition Count | The number of transitions in the given period |