xiaoding721
2024-11-06 2c714b2284a68fbe764bbd11dd23e74d42d83f34
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;
  *]
}