lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [lmi] master 3716c3e4 4/5: Experimentally perform specamt


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 3716c3e4 4/5: Experimentally perform specamt strategies during solves
Date: Fri, 2 Sep 2022 14:23:17 -0400 (EDT)

branch: master
commit 3716c3e4aa8427c0721a75f80df39db8415c6429
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>

    Experimentally perform specamt strategies during solves
    
    This may or may not be a good idea. It does seem reasonable enough to
    ask for a premium solve optionally to set specamt to corridor. However,
    it wouldn't be unreasonable to disallow specamt strategies that depend
    on premium when premium is being solved for. This commit and the ones
    immediately preceding it add considerable complexity, and might
    introduce subtle defects. Is this worth the trouble?
---
 ihs_acctval.cpp | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/ihs_acctval.cpp b/ihs_acctval.cpp
index 431fcbfc..22f88a16 100644
--- a/ihs_acctval.cpp
+++ b/ihs_acctval.cpp
@@ -407,6 +407,26 @@ void AccountValue::InitializeLife(mcenum_run_basis a_Basis)
     // be called OAOO.
     SetInitialValues();
 
+    if
+        (  Solving
+        && !SolvingForGuarPremium
+        && (  mce_solve_ee_prem == yare_input_.SolveType
+           || mce_solve_er_prem == yare_input_.SolveType
+           )
+        && mce_run_gen_curr_sep_full == RunBasis_
+        && (  contains(yare_input_.SpecifiedAmountStrategy, mce_sa_maximum)
+           || contains(yare_input_.SpecifiedAmountStrategy, mce_sa_target)
+           || contains(yare_input_.SpecifiedAmountStrategy, mce_sa_mep)
+           || contains(yare_input_.SpecifiedAmountStrategy, mce_sa_glp)
+           || contains(yare_input_.SpecifiedAmountStrategy, mce_sa_gsp)
+           || contains(yare_input_.SpecifiedAmountStrategy, mce_sa_corridor)
+           )
+        )
+        {
+        PerformSpecAmtStrategy(ignore_minimum);
+        PerformSupplAmtStrategy();
+        }
+
     VariantValues().Init(*this, GenBasis_, SepBasis_);
     InvariantValues().ReInit(this);
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]