hongji.li
2023-11-03 aefafd2142478d4fb07d6b8b45c3047e247389e0
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
Quintiq file version 2.0
#root
#parent: LibMacroPlannerTCUI
OrphanComponent DialogEditMEIO_Parameters
{
  #keys: '[138670.0.192679700]'
  BaseType: 'Dialog'
  Databinding: 'shadow[MEIO_Parameters]'
  GBLayout
  {
    Type: 'internal[GBLayoutDefinition]'
    Columns:
    [
      GBFlow.Column { grow: 0 id: 485 parent: 0 }
      GBFlow.Column { grow: 0 id: 875 parent: 0 }
      GBFlow.Column { grow: 0 id: 157 parent: 0 }
      GBFlow.Column { grow: 128 id: 942 parent: 0 }
    ]
    Elements:
    [
      GBElement
      {
        Component => LabelIncrementFactor
        Position { startcolumn: 485 startrow: 343 endcolumn: 485 endrow: 343 }
      }
      GBElement
      {
        Component => LabelInitialGuessMargin
        Position { startcolumn: 485 startrow: 510 endcolumn: 485 endrow: 510 }
      }
      GBElement
      {
        Component => LabelNrOfIterations
        Position { startcolumn: 485 startrow: 290 endcolumn: 485 endrow: 290 }
      }
      GBElement
      {
        Component => EditorIncrementFactor
        Position { startcolumn: 875 startrow: 343 endcolumn: 942 endrow: 343 }
      }
      GBElement
      {
        Component => EditorInitialGuessMarigin
        Position { startcolumn: 875 startrow: 510 endcolumn: 942 endrow: 510 }
      }
      GBElement
      {
        Component => EditorNrOfIterations
        Position { startcolumn: 875 startrow: 290 endcolumn: 942 endrow: 290 }
      }
      GBElement
      {
        Component => LabelTolerance
        Position { startcolumn: 485 startrow: 625 endcolumn: 485 endrow: 625 }
      }
      GBElement
      {
        Component => EditorTolerance
        Position { startcolumn: 875 startrow: 625 endcolumn: 942 endrow: 625 }
      }
      GBElement
      {
        Component => LabelMaxNrOfTreesPerGraph
        Position { startcolumn: 485 startrow: 411 endcolumn: 485 endrow: 411 }
      }
      GBElement
      {
        Component => LabelCreateSnapshots
        Position { startcolumn: 485 startrow: 241 endcolumn: 485 endrow: 241 }
      }
      GBElement
      {
        Component => LabelGraphEdgePenalty
        Position { startcolumn: 485 startrow: 712 endcolumn: 485 endrow: 712 }
      }
      GBElement
      {
        Component => LabelRandomRange
        Position { startcolumn: 485 startrow: 177 endcolumn: 485 endrow: 177 }
      }
      GBElement
      {
        Component => EditorMaxNrOfTreesPerGraph
        Position { startcolumn: 875 startrow: 411 endcolumn: 942 endrow: 411 }
      }
      GBElement
      {
        Component => EditorGraphEdgePenalty
        Position { startcolumn: 875 startrow: 712 endcolumn: 942 endrow: 712 }
      }
      GBElement
      {
        Component => EditorRandomRange
        Position { startcolumn: 875 startrow: 177 endcolumn: 942 endrow: 177 }
      }
      GBElement
      {
        Component => CheckBoxCreateSnapshots
        Position { startcolumn: 875 startrow: 241 endcolumn: 875 endrow: 241 }
      }
      GBElement
      {
        Component => lblLabelSampleSizeForDistributions
        Position { startcolumn: 485 startrow: 755 endcolumn: 485 endrow: 755 }
      }
      GBElement
      {
        Component => EditorSampleSizeForDistributions
        Position { startcolumn: 875 startrow: 755 endcolumn: 942 endrow: 755 }
      }
      GBElement
      {
        Component => lblLabelInitialLargeValueParentResupply
        Position { startcolumn: 485 startrow: 339 endcolumn: 485 endrow: 339 }
      }
      GBElement
      {
        Component => EditorInitialLargeValueParentResupply
        Position { startcolumn: 875 startrow: 339 endcolumn: 942 endrow: 339 }
      }
      GBElement
      {
        Component => CheckBoxOptionMakInitialGuessForNoSalesDemand
        Position { startcolumn: 875 startrow: 763 endcolumn: 157 endrow: 763 }
      }
      GBElement
      {
        Component => LabelCreateSnapshots483
        Position { startcolumn: 485 startrow: 763 endcolumn: 485 endrow: 763 }
      }
    ]
    Gaps: [ left: 10 right: 10 top: 10 bottom: 10 inner: 5 ]
    Rows:
    [
      GBFlow.Row { grow: 0 id: 343 parent: 0 }
      GBFlow.Row { grow: 0 id: 510 parent: 0 }
      GBFlow.Row { grow: 0 id: 290 parent: 0 }
      GBFlow.Row { grow: 0 id: 625 parent: 0 }
      GBFlow.Row { grow: 0 id: 411 parent: 0 }
      GBFlow.Row { grow: 0 id: 712 parent: 0 }
      GBFlow.Row { grow: 0 id: 177 parent: 0 }
      GBFlow.Row { grow: 0 id: 755 parent: 0 }
      GBFlow.Row { grow: 0 id: 339 parent: 0 }
      GBFlow.Row { grow: 0 id: 763 parent: 0 }
      GBFlow.Row { grow: 0 id: 241 parent: 0 }
    ]
  }
  Children:
  [
    #child: EditorIncrementFactor
    Component LabelIncrementFactor
    {
      #keys: '[138670.0.192679704]'
      BaseType: 'Label'
      Properties:
      [
        Alignment: 'right'
        Text: 'Increment factor'
        Tooltip: 'Used to scale the increment that is used when searching for the right service level of a product in stocking point in period'
        Transparent: true
      ]
    }
    #child: EditorInitialGuessMarigin
    Component LabelInitialGuessMargin
    {
      #keys: '[138670.0.192679707]'
      BaseType: 'Label'
      Properties:
      [
        Alignment: 'right'
        Text: 'Initial guess margin'
        Tooltip: '<html>In the search of a target level for a product in stocking point in period, the initial guess is given by the inverse cumulative distribution function of the demand of the period at the desired service level. <br>The initial guess margin allows for an offset of to be used for the service level. The inverse is taken at “service level - margin”.</html>'
        Transparent: true
      ]
    }
    #child: EditorNrOfIterations
    Component LabelNrOfIterations
    {
      #keys: '[138670.0.192679710]'
      BaseType: 'Label'
      Properties:
      [
        Alignment: 'right'
        Text: 'Number of iterations'
        Tooltip: '<html>The number of iterations is the number of target level increments that should be tried at most for a product in stocking point in period. <br> This is set to avoid searching for a target level prediction a desired service level when such level is not achievable. <br> A lower number of iterations speeds up the optimization at the cost of accuracy, that is, having this number too low may result in target levels which are too low.</html>'
        Transparent: true
      ]
    }
    #child: EditorTolerance
    Component LabelTolerance
    {
      #keys: '[138670.0.192679716]'
      BaseType: 'Label'
      Properties:
      [
        Alignment: 'right'
        Text: 'Tolerance'
        Tooltip: '<html>Currently not used, may be used to allow for a discrepancy in service level.<br> That is, allowing some range around the desired service level to be acceptable, e.g., 94,9% would be acceptable for the desired service level 95%.</html>'
        Transparent: true
      ]
    }
    #child: Toolbar334
    #child: EditorRandomRange
    #child: EditorGraphEdgePenalty
    #child: EditorMaxNrOfTreesPerGraph
    Component LabelMaxNrOfTreesPerGraph
    {
      #keys: '[138670.0.222404629]'
      BaseType: 'Label'
      Properties:
      [
        Alignment: 'right'
        Text: 'MaxNrOfTreesPerGraph'
        Tooltip: '<html>The maximum number of trees that is allowed to be created within a graph program.<br> This number will always be capped with the maximum number of trees that is possible to generate.<br> A lower limit may increase speed at the cost of accuracy, if it means not considering all possible trees.</html>'
        Transparent: true
      ]
    }
    Component LabelCreateSnapshots
    {
      #keys: '[138670.0.222404643]'
      BaseType: 'Label'
      Properties:
      [
        Alignment: 'right'
        Text: 'CreateSnapshots'
        Tooltip: 'Determines if MEIO_Snapshots are created during the Search procedure that is done for each tree and product in stocking point in period.'
        Transparent: true
      ]
    }
    Component LabelGraphEdgePenalty
    {
      #keys: '[138670.0.222404651]'
      BaseType: 'Label'
      Properties:
      [
        Alignment: 'right'
        Text: 'GraphEdgePenalty'
        Tooltip: '<html> The parameter specifies how much we should penalize the re-usage of an edge that already has been used in a previous tree.<br> This affects how likely the edge will be part of the shortest path algorithms.<br> The edge penalty should be sufficiently large so that it exceeds the maximal total leadtime from upstream to downstream of a product.</html>'
        Transparent: true
      ]
    }
    Component LabelRandomRange
    {
      #keys: '[138670.0.222405846]'
      BaseType: 'Label'
      Properties:
      [
        Alignment: 'right'
        Text: 'RandomRange'
        Tooltip: 'Used to introduce random noise in the edge penalty, to avoid the procedure getting stuck producing the same tree over and over again.'
        Transparent: true
      ]
    }
    Component CheckBoxCreateSnapshots
    {
      #keys: '[138670.0.222424763]'
      BaseType: 'CheckBox'
      Properties:
      [
        DataBinding: 'DialogEditMEIO_Parameters.Data.CreateSnapshots'
        Text: ''
      ]
    }
    #child: EditorSampleSizeForDistributions
    Component lblLabelSampleSizeForDistributions
    {
      #keys: '[133336.1.758671211]'
      BaseType: 'Label'
      Properties:
      [
        Alignment: 'right'
        FocusControl: 'EditorSampleSizeForDistributions'
        Shortcut: 'Alt+S'
        Text: '&Sample size for distributions'
        Tooltip: 'Used for computation with distributions'
        Transparent: true
      ]
    }
    #child: EditorInitialLargeValueParentResupply
    Component lblLabelInitialLargeValueParentResupply
    {
      #keys: '[133336.1.758672888]'
      BaseType: 'Label'
      Properties:
      [
        Alignment: 'right'
        FocusControl: 'EditorInitialLargeValueParentResupply'
        Shortcut: 'Alt+I'
        Text: '&Initial large value parent resupply'
        Tooltip: 'Used as starting point of target in search'
        Transparent: true
      ]
    }
    Component CheckBoxOptionMakInitialGuessForNoSalesDemand
    {
      #keys: '[133336.1.758674302]'
      BaseType: 'CheckBox'
      Properties:
      [
        DataBinding: 'DialogEditMEIO_Parameters.Data.OptionMakeInitialGuessForNoSalesDemand'
        Text: ''
      ]
    }
    Component LabelCreateSnapshots483
    {
      #keys: '[133336.1.758677634]'
      BaseType: 'Label'
      Properties:
      [
        Alignment: 'right'
        Text: 'Make initial guess for target with no salesdemand'
        Tooltip: 'Make guess based on sales demand for descendants'
        Transparent: true
      ]
    }
  ]
  Properties:
  [
    EnterButton: 'btnOk'
    EscapeButton: 'btnCancel'
    Height: 388
    Image: 'CONTROL_PANEL'
    Title: 'MEIO Parameters'
    Width: 595
    ModeledStringList ChildOrdering
    {
      c: EditorIncrementFactor
      c: EditorInitialGuessMarigin
      c: EditorNrOfIterations
      c: LabelIncrementFactor
      c: EditorTolerance
      c: EditorMaxNrOfTreesPerGraph
      c: EditorGraphEdgePenalty
      c: EditorRandomRange
      c: EditorSampleSizeForDistributions
      c: EditorInitialLargeValueParentResupply
      c: LabelInitialGuessMargin
      c: CheckBoxOptionMakInitialGuessForNoSalesDemand
      c: CheckBoxCreateSnapshots
      c: Toolbar334
      c: LabelNrOfIterations
      c: LabelTolerance
      c: LabelMaxNrOfTreesPerGraph
      c: LabelCreateSnapshots
      c: LabelGraphEdgePenalty
      c: LabelRandomRange
      c: lblLabelSampleSizeForDistributions
      c: lblLabelInitialLargeValueParentResupply
      c: LabelCreateSnapshots483
    }
  ]
}