Skip to content

Commit

Permalink
Update display in postsolve.gms
Browse files Browse the repository at this point in the history
  • Loading branch information
robertpietzcker authored Oct 6, 2023
1 parent a887579 commit d7f1892
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions modules/47_regipol/regiCarbonPrice/postsolve.gms
Original file line number Diff line number Diff line change
Expand Up @@ -498,7 +498,7 @@ loop((ttot,ext_regi,taxType,targetType,qttyTarget,qttyTargetGroup)$pm_implicitQt
);
);
put_utility "msg" / "Dampening rescaling for " ttot.tl " " ext_regi.tl " " qttyTarget.tl " " qttyTargetGroup.tl;
put_utility "msg" / "p47_implicitQttyTargetTaxRescale before dampening: noformat" ttot.tl " " ext_regi.tl " " qttyTarget.tl " " qttyTargetGroup.tl " " p47_implicitQttyTargetTaxRescale(ttot,ext_regi,qttyTarget,qttyTargetGroup);
put_utility "msg" / "p47_implicitQttyTargetTaxRescale before dampening: " ttot.tl " " ext_regi.tl " " qttyTarget.tl " " qttyTargetGroup.tl " " p47_implicitQttyTargetTaxRescale(ttot,ext_regi,qttyTarget,qttyTargetGroup):10:3;

*** dampen rescale factor when closer than 1.5 / 0.75 to reduce oscillations
if( p47_implicitQttyTargetTaxRescale(ttot,ext_regi,qttyTarget,qttyTargetGroup) > 1,
Expand Down Expand Up @@ -531,16 +531,16 @@ loop((ttot,ext_regi,taxType,targetType,qttyTarget,qttyTargetGroup)$pm_implicitQt
)
;
);
put_utility "msg" / "p47_implicitQttyTargetTaxRescale after dampening: 10:2" ttot.tl " " ext_regi.tl " " qttyTarget.tl " " qttyTargetGroup.tl " " p47_implicitQttyTargetTaxRescale(ttot,ext_regi,qttyTarget,qttyTargetGroup):10:2;
put_utility "msg" / "p47_implicitQttyTargetTaxRescale after dampening: " ttot.tl " " ext_regi.tl " " qttyTarget.tl " " qttyTargetGroup.tl " " p47_implicitQttyTargetTaxRescale(ttot,ext_regi,qttyTarget,qttyTargetGroup):10:3;

*** put a bound around the rescale factor with increasing iterations to help convergence
*** with increasing iterations, tighten the bound around the rescale factor to prevent large jumps in late iterations
p47_implicitQttyTargetTaxRescale(ttot,ext_regi,qttyTarget,qttyTargetGroup) =
max( min( 2 * EXP( -0.05 * iteration.val ) + 1.01 ,
p47_implicitQttyTargetTaxRescale(ttot,ext_regi,qttyTarget,qttyTargetGroup)
),
1 / ( 2 * EXP( -0.05 * iteration.val ) + 1.01)
);
put_utility "msg" / "p47_implicitQttyTargetTaxRescale after boundaries: 10:3 " ttot.tl " " ext_regi.tl " " qttyTarget.tl " " qttyTargetGroup.tl " " p47_implicitQttyTargetTaxRescale(ttot,ext_regi,qttyTarget,qttyTargetGroup):10:3;
put_utility "msg" / "p47_implicitQttyTargetTaxRescale after boundaries: " ttot.tl " " ext_regi.tl " " qttyTarget.tl " " qttyTargetGroup.tl " " p47_implicitQttyTargetTaxRescale(ttot,ext_regi,qttyTarget,qttyTargetGroup):10:3;

*** dampen if rescale oscillates
if( (iteration.val > 3) ,
Expand All @@ -555,7 +555,7 @@ loop((ttot,ext_regi,taxType,targetType,qttyTarget,qttyTargetGroup)$pm_implicitQt
p47_implicitQttyTargetTaxRescale(ttot,ext_regi,qttyTarget,qttyTargetGroup) =
1 + ( ( p47_implicitQttyTargetTaxRescale(ttot,ext_regi,qttyTarget,qttyTargetGroup) - 1 ) / 2 )
; !! this brings the value closer to one. The formulation works reasonably well within the range of 0.5..2
put_utility "msg" / "Reducing p47_implicitQttyTargetTaxRescale due to oscillation in the previous 3 iterations: :10:3";
put_utility "msg" / "Reducing p47_implicitQttyTargetTaxRescale due to oscillation in the previous 3 iterations: ";
put_utility "msg" / ttot.tl " " ext_regi.tl " " qttyTarget.tl " " qttyTargetGroup.tl " " p47_implicitQttyTargetTaxRescale(ttot,ext_regi,qttyTarget,qttyTargetGroup):10:3;
);
);
Expand Down

0 comments on commit d7f1892

Please sign in to comment.