yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Quintiq file version 2.0
#parent: #root
Method ShouldRollback (const RealVector kpi_pre, const RealVector kpi_post) as Boolean
{
  TextBody:
  [*
    change := kpi_post.Minus( kpi_pre );
    diff_index := LibOpt_RollbackKPI::GetDiffIndex( kpi_post, kpi_pre );
    is_improvement := guard( ifexpr( diff_index >= 0 and diff_index < change.Size() and this.RollbackKPI().IsMinimize( diff_index ),
                                     change.Get( diff_index ) < 0.0,
                                     change.Get( diff_index ) > 0.0 ), false );
    
    return not is_improvement and diff_index >= 0;
  *]
}