Kevin Kok Khah Whey
2023-11-07 5ae534ab606e6f2ba5ea60914224d665b0447d5a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
Quintiq file version 2.0
#parent: #root
InfoMessages id:#InfoMessages #extension
{
  InfoMessage Algorithm_MP_InfoCO2Emission (
    constcontent String value
  )
  {
    DefaultText: 'CO2 emission: @value@'
  }
  InfoMessage Algorithm_MP_NoOptimizerPuzzleAvailableError
  {
    DefaultText: 'Error, no optimizer puzzle has been supplied when calling the optimizer'
  }
  InfoMessage LibOBT_BenchmarkerParameter_ValidateInput_IsNullOptimizerPuzzle
  {
    DefaultText: 'Please select a puzzle.'
  }
  InfoMessage MP_OptimizerInfeasible (
    const AlgorithmRunLevel level
  )
  {
    DefaultText: 'The optimizer was unable to find a solution that satisfies all hard constraints on the first level within @level.TimeLimit()@ secs.'
  }
  InfoMessage MP_OptimizerInfeasibleWithResult (
    const AlgorithmRunLevel level
  )
  {
    DefaultText:
    [*
      The optimizer was unable to find a solution that satisfies all hard constraints on level @level.Level() + 1@ within @level.TimeLimit()@ secs.
      The plan is updated with the feasible solution of level @level.Level()@.
    *]
  }
  InfoMessage MP_OptimizerFeasibleWithNumericalWarnings (
    const AlgorithmRunLevel level
  )
  {
    DefaultText:
    [*
      The optimizer was unable to find an exact solution at level @level.Level()@ that satisfies all hard constraints within @level.TimeLimit()@.
      The plan is updated with the solution with numerical warnings.
    *]
  }
  InfoMessage Algorithm_MP_CanEvaluateInventoryOptimization_InvalidSalesDemand
  {
    DefaultText: 'The evaluation of the Inventory optimization cannot be ran when there is a sales demand with multiple sales demand in periods'
  }
  InfoMessage Algorithm_MP_FileExtensionSav
  {
    DefaultText: 'sav'
  }
  InfoMessage Algorithm_MP_InfoBlending (
    const String value
  )
  {
    DefaultText: 'Blending: @value@'
  }
  InfoMessage Algorithm_MP_InfoCampaign (
    const String value
  )
  {
    DefaultText: 'Campaign: @value@'
  }
  InfoMessage Algorithm_MP_InfoCurrentLevel (
    const String value
  )
  {
    DefaultText: '---- CurrentLevel: @value@'
  }
  InfoMessage Algorithm_MP_InfoFeasibleCapacityPlanning (
    const String actualTime,
    const String goalvalue
  )
  {
    DefaultText: 'Feasible capacity planning @actualTime@ @goalvalue@'
  }
  InfoMessage Algorithm_MP_InfoFulfillment (
    const String value
  )
  {
    DefaultText: 'Fulfillment: @value@'
  }
  InfoMessage Algorithm_MP_InfoFulfillmentTarget (
    const String value
  )
  {
    DefaultText: 'Fulfillment target: @value@'
  }
  InfoMessage Algorithm_MP_InfoGoalScalingFactorForLevel (
    const String value
  )
  {
    DefaultText: 'Goal scaling factor for level @value@'
  }
  InfoMessage Algorithm_MP_InfoGoalValuesForExecution (
    const String level
  )
  {
    DefaultText: 'Goal values for execution: @level@'
  }
  InfoMessage Algorithm_MP_InfoInventoryMixBalancing (
    const String value
  )
  {
    DefaultText: 'Inventory mix balancing: @value@'
  }
  InfoMessage Algorithm_MP_InfoLotSize (
    const String value
  )
  {
    DefaultText: 'Lot size: @value@'
  }
  InfoMessage Algorithm_MP_InfoMaximumInventoryLevel (
    const String value
  )
  {
    DefaultText: 'Maximum inventory level: @value@'
  }
  InfoMessage Algorithm_MP_InfoMaximumSupply (
    const String value
  )
  {
    DefaultText: 'Maximum supply: @value@'
  }
  InfoMessage Algorithm_MP_InfoMinimumInventoryLevel (
    const String value
  )
  {
    DefaultText: 'Minimum inventory level: @value@'
  }
  InfoMessage Algorithm_MP_InfoMinimumSupply (
    const String value
  )
  {
    DefaultText: 'Minimum supply: @value@'
  }
  InfoMessage Algorithm_MP_InfoMinimumUnitCapacity (
    const String value
  )
  {
    DefaultText: 'Minimum unit capacity: @value@'
  }
  InfoMessage Algorithm_MP_InfoMinimumUnitSecondaryCapacity (
    const String value
  )
  {
    DefaultText: 'Minimum unit secondary capacity: @value@'
  }
  InfoMessage Algorithm_MP_InfoPostponementPenalty (
    const String value
  )
  {
    DefaultText: 'Postponement penalty: @value@'
  }
  InfoMessage Algorithm_MP_InfoProcessMaximumQuantity (
    const String value
  )
  {
    DefaultText: 'Process maximum quantity: @value@'
  }
  InfoMessage Algorithm_MP_InfoProcessMinimumQuantity (
    const String value
  )
  {
    DefaultText: 'Process minimum quantity: @value@'
  }
  InfoMessage Algorithm_MP_InfoReExecuteLevel (
    const String actualTime,
    const String currentLevel,
    const String goalvalue
  )
  {
    DefaultText: 'Re-execute at @actualTime@ for level: @currentLevel@ with goal value of: @goalvalue@'
  }
  InfoMessage Algorithm_MP_InfoRelativeGoalSlackForLevel (
    const String value
  )
  {
    DefaultText: 'Relative goal slack for level @value@'
  }
  InfoMessage Algorithm_MP_InfoSalesDemandPriority (
    const String value
  )
  {
    DefaultText: 'Sales demand priority: @value@'
  }
  InfoMessage Algorithm_MP_InfoScalingFactors (
    const String mass,
    const String monetary
  )
  {
    DefaultText: 'Scaling factors: Mass: @mass@; Monetary: @monetary@'
  }
  InfoMessage Algorithm_MP_InfoServiceLevel (
    const String value
  )
  {
    DefaultText: '@Translations::MP_GlobalParameters_KPIServiceLevelName()@: @value@'
  }
  InfoMessage Algorithm_MP_InfoShiftPatternChangesPenalty (
    const String value
  )
  {
    DefaultText: 'Shift pattern changes penalty: @value@'
  }
  InfoMessage Algorithm_MP_InfoStockingPointCapacity (
    const String value
  )
  {
    DefaultText: 'Stocking point capacity: @value@'
  }
  InfoMessage Algorithm_MP_InfoSupplyTarget (
    const String value
  )
  {
    DefaultText: 'Supply target: @value@'
  }
  InfoMessage Algorithm_MP_InfoTargetInventoryLevel (
    const String value
  )
  {
    DefaultText: 'Safety stock: @value@'
  }
  InfoMessage Algorithm_MP_InfoTotalExpiredQty (
    const String value
  )
  {
    DefaultText: 'Total expired qty: @value@'
  }
  InfoMessage Algorithm_MP_InfoTotalSlack (
    const String value
  )
  {
    DefaultText: 'Total slack: @value@'
  }
  InfoMessage Algorithm_MP_InfoUnitCapacity (
    const String value
  )
  {
    DefaultText: 'Unit capacity: @value@'
  }
  InfoMessage Algorithm_MP_InfoUnitSecondaryCapacity (
    const String value
  )
  {
    DefaultText: 'Unit secondary capacity: @value@'
  }
  InfoMessage Algorithm_MP_NoPeriodsAvailableError
  {
    DefaultText: 'Error - there are no periods available for the optimizer. Check unit frozen periods'
  }
  InfoMessage Algorithm_MP_ProblemFileName (
    const String level,
    const String extension
  )
  {
    DefaultText: 'MPAlgorithmLevel@level@.@extension@'
  }
  InfoMessage Algorithm_MP_RunIDWithFilename (
    const String idWithoutFilename,
    const String filename
  )
  {
    DefaultText: '@idWithoutFilename@, Problem file name: @filename@'
  }
  InfoMessage Algorithm_MP_RunIDWithoutFilename (
    const String testInstanceId,
    const String level,
    const String duration,
    const String timeLimit,
    const String optimal,
    const String rGap,
    const String aGap,
    const String goalValue
  )
  {
    DefaultText: 'Previous run info: TestInstance = @testInstanceId@, Level = @level@, Duration = @duration@, Time limit = @timeLimit@, Optimal = @optimal@, RGap = @rGap@, AGap = @aGap@, GoalValue = @goalValue@'
  }
  InfoMessage LibOBT_BenchmarkerParameter_ValidateInput_InvalidMassScalingFactor
  {
    DefaultText: 'Mass scaling factor must be greater than 0.'
  }
  InfoMessage LibOBT_BenchmarkerParameter_ValidateInput_InvalidMonetaryScalingFactor
  {
    DefaultText: 'Monetary scaling factor must be greater than 0.'
  }
  InfoMessage LibOBT_BenchmarkerParameter_ValidateInput_InvalidNumberOfThreads (
    Number threadsallowed
  )
  {
    DefaultText: 'Number of threads must be between 1 and @threadsallowed@.'
  }
  InfoMessage LibOBT_BenchmarkerParameter_ValidateInput_InvalidThreadsAllowed
  {
    DefaultText: 'Total threads allowed must be at least 1.'
  }
  InfoMessage LibOBT_BenchmarkerParameter_ValidateInput_IsNullOptimizerParameter
  {
    DefaultText: 'Please select an optimizer parameter.'
  }
  InfoMessage LibOBT_BenchmarkerParameter_ValidateInput_IsNullStrategy
  {
    DefaultText: 'Please select a strategy.'
  }
  InfoMessage LibOBT_BenchmarkerParameter_ValidateInput_NegativeAutotunerTolerance
  {
    DefaultText: 'The autotuner tolerance must be greater than or equal to 0.'
  }
  InfoMessage LibOBT_Benchmarker_CanRunBenchmarking_IsAutoTunerRunning
  {
    DefaultText: 'Another run cannot be started until the current auto tuner run is completed.'
  }
  InfoMessage LibOBT_Benchmarker_GetWarningMessageForRunTaskDeletion
  {
    DefaultText:
    [*
      Are you sure you want to delete these run tasks?
      Some of the runs are not complete, and aborting the transactions must be done separately in Task Manager.
    *]
  }
  InfoMessage LibOBT_Benchmarker_InactiveRunTask
  {
    DefaultText: 'This task has been set to inactive and will be skipped during the benchmarking run.'
  }
  InfoMessage LibOBT_Benchmarker_IsNotInKT
  {
    DefaultText: 'This run instance cannot be found in KT.'
  }
  InfoMessage LibOBT_Benchmarker_IsNotWithinExpectedDuration
  {
    DefaultText: 'The run duration is not within the expected duration.'
  }
  InfoMessage LibOBT_Benchmarker_JobCreateScenarioAndRunBenchmarking_Benchmarking
  {
    DefaultText: 'Benchmarking'
  }
  InfoMessage LibOBT_Benchmarker_JobCreateScenarioAndRunBenchmarking_Folderdescription (
    const String type
  )
  {
    DefaultText: 'Scenarios used for @type@'
  }
  InfoMessage LibOBT_Benchmarker_JobCreateScenarioAndRunBenchmarking_TestInstances
  {
    DefaultText: 'Optimizer Test Instances'
  }
  InfoMessage LibOBT_Benchmarker_NoScenariosSelected
  {
    DefaultText: 'The benchmarker can only be run from the KT since no scenarios were given as input. You can select one or more scenarios and run the benchmarker from their context menu to be able to change this setting.'
  }
  InfoMessage LibOBT_Benchmarker_LevelMismatch (
    Real weight,
    Real expectedweight
  )
  {
    DefaultText: 'Weighted KPI value does not match with KT. Expected @expectedweight@ but current result is @weight@.'
  }
  InfoMessage LibOBT_Benchmarker_LevelsMismatch
  {
    DefaultText: 'Weighted KPI values for this run does not match with KT.'
  }
  InfoMessage LibOBT_Benchmarker_RunResultImproved
  {
    DefaultText: 'Improved'
  }
  InfoMessage LibOBT_Benchmarker_RunResultMatched
  {
    DefaultText: 'Matched'
  }
  InfoMessage LibOBT_Benchmarker_RunResultWorse
  {
    DefaultText: 'Worse'
  }
  InfoMessage LibOBT_Benchmarker_RunSummary (
    String start,
    String end,
    Number totaltask,
    Number passed,
    Number failed,
    Number notrun
  )
  {
    DefaultText: 'Started on @start@, Ended on @end@, Total: @totaltask@, Passed: @passed@ , Failed: @failed@, Not run: @notrun@.'
  }
  InfoMessage LibOBT_RunTaskSetting_CanEdit
  {
    DefaultText: 'Only non-started task can be edited.'
  }
  InfoMessage LibOBT_RunTask_ErrorDescription_IsNullScenario
  {
    DefaultText: 'Scenario cannot be found.'
  }
  InfoMessage LibOBT_RunTask_ErrorDescription_IsNullStrategy
  {
    DefaultText: 'Strategy not found'
  }
  InfoMessage MP_AlgorithmRun_ValidateInputSelectOptimizer_NoPeriodsAvailable
  {
    DefaultText: 'No periods are available for optimization since all the units are frozen for the selected periods'
  }
  InfoMessage MP_Algorithm_InventoryEvaluationIsNotRunning
  {
    DefaultText: 'There is no inventory evaluation that can be aborted'
  }
  InfoMessage MP_Algorithm_MP_ValidateInput_InvalidNonPlanningPeriods
  {
    DefaultText: 'Smart plan can only be run on planning periods.'
  }
  InfoMessage MP_Algorithm_InventoryOptimizationEvaluationIsAlreadyRunning
  {
    DefaultText: 'An evaluation of the expected KPIs is already in progress. Please wait for it to finish.'
  }
  InfoMessage MP_Algorithm_InventoryOptimizationIsAlreadyRunning
  {
    DefaultText: 'An inventory optimization run is already active. Please either wait for it to finish or abort it before starting a new inventory optimization run.'
  }
  InfoMessage MP_Algorithm_InventoryOptimizationIsNotRunning
  {
    DefaultText: 'There is no active inventory optimization run that can be aborted'
  }
  InfoMessage MP_Algorithm_ValidateInputInventoryOptimization_InsufficientPeriodsInWindow
  {
    DefaultText: 'The number of periods per window should be at least 1.'
  }
  InfoMessage MP_Algorithm_ValidateInputInventoryOptimization_InsufficientSimulations
  {
    DefaultText: 'The number of simulations should be at least 1.'
  }
  InfoMessage MP_Algorithm_ValidateInputInventoryOptimization_InsufficientTimeLimit
  {
    DefaultText: 'The time limit should be greater than 0 seconds.'
  }
  InfoMessage MP_AlgorithmRun_Instance (
    const DateTime start
  )
  {
    DefaultText: 'AlgorithmRun started on [@start@]'
  }
  InfoMessage MP_AlgorithmRun_ValidateInputSelectOptimizer_IsNullEnd
  {
    DefaultText: 'Please select planning end.'
  }
  InfoMessage MP_AlgorithmRun_ValidateInputSelectOptimizer_IsNullParam
  {
    DefaultText: 'Please select an optimizer setting.'
  }
  InfoMessage MP_AlgorithmRun_ValidateInputSelectOptimizer_IsNullStart
  {
    DefaultText: 'Please select planning start.'
  }
  InfoMessage MP_AlgorithmRun_ValidateInputSelectOptimizer_IsStartAfterEnd
  {
    DefaultText: 'Planning end must be later than planning start.'
  }
  InfoMessage MP_Algorithm_GetOptimizerRemark (
    String status
  )
  {
    DefaultText: 'The optimizer run status: @status@.'
  }
  InfoMessage MP_Algorithm_OptimizerStatusTooltip (
    const String lastrun,
    const String status
  )
  {
    DefaultText: 'The last optimizer run was at (@lastrun@) with status (@status@).'
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_MinMaxCoeff
  {
    DefaultText: 'The target min coefficient should be smaller than the target max coefficient.'
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_MinMaxOptValue
  {
    DefaultText: 'The target min optimal value should be smaller than the target max optimal value.'
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_MinMaxRHS
  {
    DefaultText: 'The target min RHS should be smaller than the target max RHS.'
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_MinMaxVarBound
  {
    DefaultText: 'The target min variable bound should be smaller than the target max variable bound.'
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_TargetMaxCoeff
  {
    DefaultText:
    [*
      The target log(max coefficient) should be between -6 and 20.
      Since this is the log(coefficient) it will translate to a real max coefficient between 1e-6 and 1e20.
    *]
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_TargetMaxOptValue
  {
    DefaultText:
    [*
      The target log(max variable optimal value) should be between -6 and 20.
      Since this is the log(opt value) it will translate to a real max optimal value between 1e-6 and 1e20.
    *]
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_TargetMaxRHS
  {
    DefaultText:
    [*
      The target log(max RHS) should be between -6 and 20.
      Since this is the log(RHS) it will translate to a real max RHS between 1e-6 and 1e20.
    *]
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_TargetMaxVarBound
  {
    DefaultText:
    [*
      The target log(max variable bound) should be between -6 and 20.
      Since this is the log(bound) it will translate to a real max variable bound between 1e-6 and 1e20.
    *]
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_TargetMinCoeff
  {
    DefaultText:
    [*
      The target log(min coefficient) should be between -6 and 20.
      Since this is the log(coefficient) it will translate to a real min coefficient between 1e-6 and 1e20.
    *]
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_TargetMinOptValue
  {
    DefaultText:
    [*
      The target log(min variable optimal value) should be between -6 and 20.
      Since this is the log(opt value) it will translate to a real min optimal value between 1e-6 and 1e20.
    *]
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_TargetMinRHS
  {
    DefaultText:
    [*
      The target log(min RHS) should be between -6 and 20.
      Since this is the log(RHS) it will translate to a real min RHS between 1e-6 and 1e20.
    *]
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_TargetMinVarBound
  {
    DefaultText:
    [*
      The target log(min variable bound) should be between -6 and 20.
      Since this is the log(bound) it will translate to a real min variable bound between 1e-6 and 1e20.
    *]
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_WeightMaxTargetsOverall
  {
    DefaultText: 'The goal weight of the slack overall max targets should be between 0 and 1e6.'
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_WeightMaxTargetsType
  {
    DefaultText: 'The goal weight of the slack max targets per scaling type should be between 0 and 1e6.'
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_WeightMaxValues
  {
    DefaultText: 'The goal weight of the max values per scaling type should be between 0 and 1e6.'
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_WeightMinTargetsOverall
  {
    DefaultText: 'The goal weight of the slack overall min targets should be between 0 and 1e6.'
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_WeightMinTargetsType
  {
    DefaultText: 'The goal weight of the slack min targets per scaling type should be between 0 and 1e6.'
  }
  InfoMessage MP_Algorithm_Scaling_ValidateInput_WeightPieceWiseLinear
  {
    DefaultText: 'The piece wise linear factor should be between 1 and 1000.'
  }
  InfoMessage MP_Algorithm_MP_ValidateInput_InvalidMassScalingFactor
  {
    DefaultText: 'Mass scaling factor must be greater than 0.'
  }
  InfoMessage MP_Algorithm_MP_ValidateInput_InvalidMonetaryScalingFactor
  {
    DefaultText: 'Monetary scaling factor must be greater than 0.'
  }
  InfoMessage MP_Algorithm_MP_ValidateInput_InvalidNumberOfOptimizerResults
  {
    DefaultText: 'The number of optimizer results must be at least 1 to run the optimizer.'
  }
}