PLEXOS 7.4 Release Notes
- Upgrade Compatibility
- Changes
- Performance
- Features
- Generic LP and Solution Writer
- Quarterly Input Properties
- Quarterly Reporting
- Periodic Auto-Regressive Moving Average Estimation
- Periodic Auto-Regressive Moving Average Prediction
- Interleave Look-ahead Outage Control
- Historical Hanging Branch Method
- Capacity Outage Probability Table Diagnostic
- Sample Subset Execution
- Attribute Setting Support
- User Script Execution
- Custom Solution Data (OpenPLEXOS API)
- Enterprise Retrograde
- Split Run with Lookahead Support
- Forced Outages based on Operating Time
- Support for 64 Logical Processors
- 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.4 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.4 format.
2. Changes
The following are the changes to existing functionality between this version and 7.3:
- Property name change - all "Hours of" properties have been renamed. For example "Hours of Pump Operation" has been renamed to "Pump Operational Hours".
2.1. Solver Updates
The following solvers were updated as part of this updated release.
Solver | Version | Release Notes |
---|---|---|
ILOG CPLEX | 12.6.3 | http://www.ibm.com/support/knowledgecenter/SSSA5P_12.6.3/ilog.odms.studio.help/CPLEX/ReleaseNotes/topics/releasenotes1263/home.html |
MOSEK | 7.1.0.53 | http://docs.mosek.com/7.1/toolsrelnotes/index.html |
FICO Xpress | 28.1.13.0 | - |
3. Performance
A number of 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:
- Parallelization of the Data File Missing Values Method code. This can significantly improve performance if reading large multi-band files with missing values.
- Scenario Tree generation speed improvement (see the Global class for related properties). The speed of traversing the scenario tree has been significantly improved, making the whole generation process far faster.
- Added parallel run support for the Execution Manager.
- Refactored the charting of the Execution Manager taking advantage of GPU acceleration.
4. Features
4.1. Generic LP and Solution Writer
This feature allows the user to bypass the solver specific LP and solution writers, by using an in-built generic writer. Each solver has varying default file format values that can impact the file writing format, for example:
- the order of the constraints and variables;
- numeric precision;
- numeric notation;
- variable per line; etc.
This feature thereby standardizes the output, regardless of which solver is used. This will ultimately make it far easier to compare LP files between solvers. The options for this feature can be found here.
4.2. Quarterly Input Properties
Input properties such as LDC Type, Discount Period Type and Growth Period support the quarterly period type. More information on this can be found under the 'New Attributes' section.
4.3. Quarterly Reporting
In the report object, a new option is available to switch on/off writing of summary results for each calender quarter of the simulation horizon.
Figure 1: Quarterly Report SettingsThe following images demonstrate monthly reporting, along with the equivalent quarterly reporting.
Figure 2: Monthly Generation LevelsFigure 3: Quarterly Generation Levels
Note: Quarterly reporting is enabled for all forms of reporting, e.g. Flat file, MDB, etc.
4.4. Periodic Auto-Regressive Moving Average Estimation
Many time series data (such as river historical flows) can be approximated by Periodic Auto-Regressive Moving Average (PARMA) models. This feature has been implemented to estimate the parameters of PARMA models for the Variable class. PARMA period estimation, parameters estimation, and order selection are all included so the best estimated parameters will be determined automatically.
Two new hidden parameters (PARMAVariable and PARMAHistoricalFileName) can be used to enable this feature when using Hanging Branches Scenario Trees. For example, if there is a Variable with name 'Inflow' that will use the PARMA to generate the stochastic samples, the hidden parameters are like this:
<Stochastic>
<ParameterName>PARMAVariable</ParameterName>
<Band>1</Band>
<Value>Inflow</Value>
</Stochastic>
<Stochastic>
<ParameterName>PARMAHistoricalFileName</ParameterName>
<Band>1</Band>
<Value>Inflow.csv</Value>
</Stochastic>
Notice that the Global Tree Period Type should match with the period type of the historical time series data in the input file
4.5. Periodic Auto-Regressive Moving Average Prediction
The prediction is working seamlessly with the estimation. After the PARMA parameters have been estimated, the multi-stage stochastic variables will be generated based on the historical data and the Hanging Branches Scenario Tree created according to the Global settings.
The time range of the historical data and the modelling horizon can be overlapped or there can be a gap between them. If they are overlapped, the stochastic variables will be created using the historical data before the horizon. If there is a gap, the historical data in the gap will be automatically generated before the prediction.
4.6. Interleave Look-ahead Outage Control
A new hidden parameter (SuppressInterleaveOutages) has been implemented for handling the Day-Ahead run to ignore any outages except units already on outage. This will stop the Day-Ahead from having any foresight of outages, but Real-Time will be able to see them, with the exception being units already on outage. For example:
Step 1) Allow any unit already in an outage block to have that outage block modelled.
Step 2) Ignore any other outages which may occur in that step, for that unit.
Step 3) Repeat for all units.
Ultimately this will prevent the DA model from having any foresight of outages, but the real-time (interleaved model) will be able to see them. One important requirement, is that the outages between the interleaved models must be the same (i.e. have the same random seed and outage properties).
More information can be found under the article 'Hidden Parameters'.
4.7. Historical Hanging Branch Method
The new hidden parameters can be used to generate the stochastic samples from historical data when using Hanging Branches Scenario Trees. For example, if there is a Variable with name 'Inflow' that will use the historical data to generate the stochastic samples, the hidden parameters are like this:
<Stochastic>
<ParameterName>HistoricalVariable</ParameterName>
<Band>1</Band>
<Value>Inflow</Value>
</Stochastic>
<Stochastic>
<ParameterName>HistoricalFileName</ParameterName>
<Band>1</Band>
<Value>Inflow.csv</Value>
</Stochastic>
<Stochastic>
<ParameterName>HistoricalYearFrom</ParameterName>
<Band>1</Band>
<Value>1970</Value>
</Stochastic>
<Stochastic>
<ParameterName>HistoricalYearTo</ParameterName>
<Band>1</Band>
<Value>2012</Value>
</Stochastic>
<Stochastic>
<ParameterName>HistoricalPeriodType</ParameterName>
<Band>1</Band>
<Value>3</Value>
</Stochastic>
<Stochastic>
<ParameterName>HistoricalYearStart</ParameterName>
<Band>1</Band>
<Value>1998</Value>
</Stochastic>
4.8. Capacity Outage Probability Table Diagnostic
The new hidden parameters can be used to write out Capacity Outage Possibility Table (COPT) into spreadsheets for specific time periods.
Figure 4: Generator Outage SettingsFigure 5: Generator Outage Probability Table
More information can be found under the article 'Hidden Parameters'.
4.9. Sample Subset Execution
The PLEXOS engine can be run from the command line, which allows for models, projects and solution merging to be executed without opening the PLEXOS graphical user interface. Any arguments, such as model name, project name, output path or destination file, that might contain spaces will need to wrapped in quotations.
An example command, where the 5th sample only is executed would be: "C:\Program Files (x86)\Energy Exemplar\PLEXOS 7.4\PLEXOS64.exe" "C:\PLEXOS Models\Test model.xml" -m "Base model" -n -sp 5 5
More information can be found under the article Command Line Options.
4.10. Attribute Setting Support
The undocumented parameters file also allows any attribute of any simulation object that is currently enabled in a model to be modified by specifying attribute information in "PLEXOS_Param.xml". This is a very powerful feature, as it allows attribute data (e.g. horizon start date) to be modified without needing to programmatically do so. For example a basic script file could automatically update the horizon start date (see object attribute list for all attributes available) and trigger the simulation to re-run. This example is essentially a basic way to automate the engine.
More information can be found under the article Hidden Parameters.
4.11. User Script Execution
PLEXOS allows user defined scripts to run prior to a simulation or post-simulation as part of the simulation execution. To include a pre-simulation script as part of the simulation execution simply save the script as Pre-simulation.bat within the same directory as the PLEXOS database being executed. Similarly for post-simulation scripts, just use Post-simulation.bat.
More information can be found under the article Automation.
4.12. Custom Solution Data (OpenPLEXOS API)
The Solution OpenPLEXOS API has been developed, allowing the user to easily customize the solution. The core functionality provides flexibility to quickly and easily add objects into the solution databases and to register calculation functions for these object. This essentially allows the solution database to be modified at runtime, allowing powerful customizations.
For more information please see the Solution API section of the OpenPLEXOS article.
4.13. Enterprise Retrograde
The next major Beta release will be PLEXOS Enterprise. The back-end schema of this version has changed somewhat, therefore the dataset upgrade procedure is reasonably significant (although automated). However the retro-grade functionality will not be available for older version of PLEXOS (7.3 and earlier), but is supported in the 7.4 version, i.e. Enterprise datasets can be easily downgraded to the 7.4 desktop schema.
4.14. Split Run with Lookahead Support
Earlier versions did not support for splitting a model by both planning and chronological horizon, with the horizon including a look-ahead. Support for this has now been added.
4.15. Forced Outages based on Operating Time
A new property has been introduced called Generator Forced Outage Rate Denominator. This property directly impacts the Forced Outage Rate generation by basing the rate on Time (default) versus Operating Time (new mode).
4.16. Support for 64 Logical Processors
Windows groups logical processors into processor groups. Each group is a set of logical processors that are treated as a single scheduling entity. The maximum number of logical processors in any group is 64. Systems with fewer than 64 logical processors always have a single group (Group 0). By default .NET only supports a single processor group, so supports at maximum 64 logical processes. However this limitation has been removed and the runtime is now able to distribute managed threads across all CPU groups.
5. New Attributes
New attributes are:
Class | Property | Description |
---|---|---|
Report | Output Results by Quarter | If summary results are written by quarter |
LT Plan | Discount Period Type | A unique discount factor and expansion decisions will be computed for each of these periods. |
The following attributes have all been updated to support the quarterly period type:
Class | Property | Description |
---|---|---|
Data File | Growth Period | Cycle over which the growth algorithm matches energy targets (year,month,day) |
LT Plan | LDC Type | One LDC is created for each period of this type in horizon |
MT Schedule | Discount Period Type | A unique factor will be computed for each of these periods |
MT Schedule | Step Type | Each simulation step will span steps of this type |
MT Schedule | LDC Type | One LDC is created for each period of this type in horizon |
ST Schedule | Discount Period Type | A unique discount factor will be computed for each of these periods |
Stochastic | Convergence Period Type | Convergent Monte Carlo convergence period type |
6. New Input Properties
New input properties are:
Collection | Property | Description | Relates To |
---|---|---|---|
Generator | Forced Outage Rate Denominator | Denominator for Forced Outage Rate calculations | Stochastic |
Generator | Min Pump Down Time | Minimum number of hours a unit must be off after being shut down from pump mode | Unit Commitment;Constraints |
Generator | Initial Units Pumping | Number of units pumping at time zero | Initial Conditions;Unit Commitment |
Generator | Initial Operating Hours | Number of units pumping at a time zero | Initial Conditions;Unit Commitment |
Battery | Max Cycles | Number of cycles allowed each interval | Constraints |
Battery | Max Cycles Hours | Number of cycles allowed each hours | Constraints |
Battery | Max Cycles Day | Number of cycles allowed each day (000) | Constraints |
Battery | Max Cycles Week | Number of cycles allowed each week (000) | Constraints |
Battery | Max Cycles Month | Number of cycles allowed each Month (000) | Constraints |
Battery | Max Cycles year | Number of cycles allowed each year(000) | Constraints |
Company | Risk Level | Risk level for risk-constrained optimization | Risk |
Global | Deterministic Stages | Scenario Tree: Number of deterministic stages | - |
Market Capacity Generators | Offer Quantity | Quantity offered in band for capacity market | - |
Market Capacity Generators | Offer Price | Price of energy in band of capacity market | - |
Constraint Batteries | Cycles Coefficient | Coefficient of cycles | - |
Constraint Maintenances | Start Coefficient | Coefficient on the number of maintenances started | - |
Constraint Gas Plants | Capacity Factor Coefficient | Coefficient of Gas Plant capacity factor | - |
Constraint Gas Plants | Installed Capacity Coefficient | Coefficient of installed capacity | - |
Constraint Gas Plants | Capacity Built Coefficient | Coefficient of capacity built | - |
Constraint Gas Plants | Capacity Retired Coefficient | Coefficient of capacity retired | - |
Constraint Gas Plants | Build Cost Coefficient | Coefficient of total build cost | - |
Constraint Gas Plants | Built Coefficient | Coefficient on binary variable indicating if any capacity is built in the year | - |
Constraint Gas Plants | Built in Year Coefficient | Coefficient on binary variable indicating if any capacity is built in the year | - |
Variable Regions | Price Coefficient | Coefficient of region price in condition | - |
7. New Reporting Properties
New reporting properties are:
Collection | Property | Description |
---|---|---|
Generator | Total System Cost | Total system cost including fuel, Vo&M, start and shutdown costs, emissions costs and ramp costs. |
Generator | Forced Outage Rate | Total system cost including fuel, VO&M, start and shutdown costs, emissions costs and ramp costs. |
Market Capacity Generators | Cleared Offer Price | Price of marginal offer band. |
Market Capacity Generators | Cleared Offer Cost | Cost of cleared offer bands. |
Region | Total System Cost | Total system cost including fuel, VO&M, start and shutdown costs, emissions costs and ramp costs. |
Zone | Total System Cost | Total system cost including fuel, VO&M, start and shutdown costs, emissions costs and ramp costs. |
Company | Total System Cost | Total system cost including fuel, VO&M, start and shutdown costs, emissions costs and ramp costs. |