Skip to content

Missing offer type in generic constraint #10

@akxen

Description

@akxen

Case ID: 20210405178

APD01 has L5MI variable in generic constraint, but not L5MI bid. This results in a KeyError being raised when constructing constraints linking generic constraint trader variables to total offer variables for each trade type.

Price bands:

<Trader TraderID="APD01" TraderType="NORMALLY_ON_LOAD" SemiDispatch="0">
<TraderInitialConditionCollection>
	<TraderInitialCondition InitialConditionID="AGCStatus" Value="0" />
	<TraderInitialCondition InitialConditionID="InitialMW" Value="0" />
	<TraderInitialCondition InitialConditionID="WhatIfInitialMW" Value="0" />
</TraderInitialConditionCollection>
<TradePriceStructureCollection>
	<TradePriceStructure TradePriceStructureID="20210405178">
		<TradeTypePriceStructureCollection>
			<TradeTypePriceStructure TradeType="R5MI" PriceBand1="0.26" PriceBand2="0.75" PriceBand3="1.49" PriceBand4="2.29" PriceBand5="2.77" PriceBand6="13.75" PriceBand7="18.89" PriceBand8="22.99" PriceBand9="2399" PriceBand10="12500" Offer_SettlementDate="2021-04-05T00:00:00+10:00" Offer_EffectiveDate="2021-04-05T18:40:44+10:00" Offer_VersionNo="1" />
			<TradeTypePriceStructure TradeType="R60S" PriceBand1="0.26" PriceBand2="0.75" PriceBand3="1.49" PriceBand4="2.29" PriceBand5="2.77" PriceBand6="13.75" PriceBand7="18.89" PriceBand8="22.99" PriceBand9="2399" PriceBand10="12500" Offer_SettlementDate="2021-04-05T00:00:00+10:00" Offer_EffectiveDate="2021-04-05T18:40:30+10:00" Offer_VersionNo="1" />
			<TradeTypePriceStructure TradeType="R6SE" PriceBand1="0.25" PriceBand2="0.5" PriceBand3="1.49" PriceBand4="2.29" PriceBand5="2.77" PriceBand6="13.75" PriceBand7="18.89" PriceBand8="50" PriceBand9="2399" PriceBand10="12500" Offer_SettlementDate="2021-04-05T00:00:00+10:00" Offer_EffectiveDate="2021-04-05T18:40:18+10:00" Offer_VersionNo="1" />
		</TradeTypePriceStructureCollection>
	</TradePriceStructure>
</TradePriceStructureCollection>
</Trader>

Quantity bands:

<TraderPeriod TraderID="APD01" RegionID="VIC1" TradePriceStructureID="20210405178">
<TradeCollection>
	<Trade TradeType="R5MI" MaxAvail="450" EnablementMin="0" EnablementMax="0" LowBreakpoint="0" HighBreakpoint="0" BandAvail1="30" BandAvail2="15" BandAvail3="20" BandAvail4="20" BandAvail5="20" BandAvail6="20" BandAvail7="10" BandAvail8="0" BandAvail9="0" BandAvail10="315" />
	<Trade TradeType="R60S" MaxAvail="450" EnablementMin="0" EnablementMax="0" LowBreakpoint="0" HighBreakpoint="0" BandAvail1="30" BandAvail2="10" BandAvail3="10" BandAvail4="20" BandAvail5="20" BandAvail6="20" BandAvail7="15" BandAvail8="10" BandAvail9="0" BandAvail10="315" />
	<Trade TradeType="R6SE" MaxAvail="450" EnablementMin="0" EnablementMax="0" LowBreakpoint="0" HighBreakpoint="0" BandAvail1="31" BandAvail2="0" BandAvail3="0" BandAvail4="0" BandAvail5="0" BandAvail6="0" BandAvail7="0" BandAvail8="0" BandAvail9="0" BandAvail10="419" />
</TradeCollection>
</TraderPeriod>

Generic constraint:

<GenericConstraint ConstraintID="F_V+NIL_APD01_L5" Version="20130823000000_1" EffectiveDate="2013-08-23T00:00:00+10:00" VersionNo="1" Type="LE" ViolationPrice="17400000" RHS="0" Force_SCADA="False">
<LHSFactorCollection>
	<TraderFactor Factor="1" TradeType="L5MI" TraderID="APD01" />
</LHSFactorCollection>
<RHSTermCollection>
	<RHSTerm TermID="1" Multiplier="1" SpdID="APD01_LOAD" SpdType="A" Default="0" />
	<RHSTerm TermID="2" Multiplier="1" SpdID="APD02_LOAD" SpdType="A" Default="0" />
	<RHSTerm TermID="3" Multiplier="-15" SpdID="Constant" SpdType="C" Default="0" />
	<RHSTerm TermID="4" Multiplier="10000" Operation="STEP" SpdID="Swamp" SpdType="U" Default="0" />
</RHSTermCollection>
<s:ConstraintTrkCollection xmlns:s="http://www.w3.org/2001/XMLSchema-instance">
	<ConstraintTrkItem Invocation_ID="50180" Start_Interval_DateTime="2021-04-05T18:50:00+10:00" End_Interval_DateTime="2021-04-05T18:50:00+10:00" DynamicRHS="1" GenConSetID="F-I_NIL" Intervention="False" ASConstraintType="NETWORK" SystemNormal="True" Invocation_Group_ID="50180" LimitType="FCAS" />
</s:ConstraintTrkCollection>
</GenericConstraint>

Proposed solution is to skip linking constraints if key error is raised.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions