90 "Invalid active buying frequency range. Please provide both a min "
98 "Invalid active buying frequency range. Please provide both a mean "
99 "and standard deviation value.");
115 "Active buying end probability must be between 0 and 1");
140 "Invalid dormant buying frequency range. Please provide both a min "
148 "Invalid dormant buying frequency range. Please provide both a mean "
149 "and standard deviation value.");
164 "Dormant buying end probability must be between 0 and 1");
189 "Invalid buying size range. Please provide both a min and max "
197 "Invalid buying size range. Please provide both a mean and standard "
215#pragma cyclus var {"default": "Fixed",\
216 "tooltip": "Type of active buying frequency",\
217 "doc": "Options: Fixed, Uniform, Normal, Binomial, FixedWithDisruption. "\
218 "Fixed requires active_buying_val. Uniform "\
219 "requires active_buying_min and active_buying_max. Normal "\
220 "requires active_buying_mean and active_buying_std, with optional "\
221 "active_buying_min and active_buying_max. Binomial requires active_buying_end_probability."\
222 "FixedWithDisruption has a probability that any given cycle will have a disrupted, "\
223 "active length. Once per cycle, a Bernoulli distribution (Binomial dist "\
224 "with N=1) will be sampled to determine if typical or disrupted cycle. If typical, "\
225 "active_buying_val is cycle length. If disrupted, active_buying_disruption.",\
226 "uitype": "combobox",\
227 "categorical": ["Fixed", "Uniform", "Normal", "Binomial", "FixedWithDisruption"],\
228 "uilabel": "Active Buying Frequency Type"}
231#pragma cyclus var {"default": -1,\
232 "tooltip": "Fixed active buying frequency",\
233 "doc": "The length in time steps of the active buying period. Required for fixed "\
234 "active_buying_frequency_type. Must be greater than or equal to 1 (i.e., agent "\
235 "cannot always be dormant)",\
237 "range": [1, CY_LARGE_INT], \
238 "uilabel": "Active Buying Frequency Value"}
241#pragma cyclus var {"default": -1,\
242 "tooltip": "Active buying distribution minimum",\
243 "doc": "The minimum length in time steps of the active buying period. Required for "\
244 "Uniform and optional for Normal active_buying_frequency_type. Must be greater than "\
247 "range": [1, CY_LARGE_INT], \
248 "uilabel": "Active Buying Frequency Minimum"}
251#pragma cyclus var {"default": -1,\
252 "tooltip": "Active buying distribution maximum",\
253 "doc": "The maximum length in time steps of the active buying period. Required for "\
254 "Uniform active_buying_frequency_type, optional for Normal. Must be greater than or equal to active_buying_min ",\
256 "range": [1, CY_LARGE_INT], \
257 "uilabel": "Active Buying Frequency Maximum"}
260#pragma cyclus var {"default": -1,\
261 "tooltip": "Active buying distribution mean",\
262 "doc": "The mean length in time steps of the active buying period. Required for "\
263 "Normal active_buying_frequency_type. Must be greater than or equal to 1 ",\
265 "range": [1.0, CY_LARGE_DOUBLE], \
266 "uilabel": "Active Buying Frequency Mean"}
269#pragma cyclus var {"default": -1,\
270 "tooltip": "Active buying distribution standard deviation",\
271 "doc": "The standard deviation of the length in time steps of the active buying period. "\
272 "Required for Normal active_buying_frequency_type. Must be greater than or equal to 0 ",\
274 "range": [0.0, CY_LARGE_DOUBLE], \
275 "uilabel": "Active Buying Frequency Standard Deviation"}
278#pragma cyclus var {"default": 0,\
279 "tooltip": "Probability that agent will go offline during the next time step",\
280 "doc": "Binomial distribution has a fixed probability of going dormant at any given "\
281 "timestep, like a weighted coin flip. Required for Binomial active_buying_frequency_type. "\
282 "Must be between 0 and 1",\
284 "range": [0.0, 1.0], \
285 "uilabel": "Active Buying Offline Probability"}
288#pragma cyclus var {"default": 0,\
289 "tooltip": "Probability that a cycle contains a disruption",\
290 "doc": "Probability that the agent undergoes a disruption (disrupted active period) "\
291 "during any given cycle. Required for FixedWithDisruption active_buying_frequency_type.",\
293 "range": [0.0, 1.0],\
294 "uilabel": "Active Buying Disruption Probability"}
297#pragma cyclus var {"default": -1,\
298 "tooltip": "Fixed length of disrupted active cycle",\
299 "doc": "When a active cycle is disrupted, this is length of the active period instead "\
300 "of active_buying_val. Required for FixedWithDisruption active_buying_frequency_type",\
302 "range": [0, CY_LARGE_INT]}
305#pragma cyclus var {"default": "Fixed",\
306 "tooltip": "Type of dormant buying frequency",\
307 "doc": "Options: Fixed, Uniform, Normal, Binomial, FixedWithDisruption. "\
308 "Fixed requires dormant_buying_val. "\
309 "Uniform requires dormant_buying_min and dormant_buying_max. Normal requires "\
310 "dormant_buying_mean and dormant_buying_std, with optional dormant_buying_min "\
311 "and dormant_buying_max. Binomial requires dormant_buying_end_probability. "\
312 "FixedWithDisruption has a probability that any given cycle will have a disrupted, "\
313 "or long, outage. Once per cycle, a Bernoulli distribution (Binomial dist "\
314 "with N=1) will be sampled to determine if typical or disrupted cycle. If typical, "\
315 "dormant_buying_val is cycle length. If disrupted, dormant_buying_disruption.",\
316 "uitype": "combobox",\
317 "categorical": ["Fixed", "Uniform", "Normal", "Binomial", "FixedWithDisruption"],\
318 "uilabel": "Dormant Buying Frequency Type"}
321#pragma cyclus var {"default": -1,\
322 "tooltip": "Fixed dormant buying frequency",\
323 "doc": "The length in time steps of the dormant buying period. Required for fixed "\
324 "dormant_buying_frequency_type. Default is -1, agent has no dormant period and stays active.",\
326 "range": [-1, CY_LARGE_INT], \
327 "uilabel": "Dormant Buying Frequency Value"}
330#pragma cyclus var {"default": -1,\
331 "tooltip": "Dormant buying distribution minimum",\
332 "doc": "The minimum length in time steps of the dormant buying period. Required for Uniform and optional for "\
333 "Normal dormant_buying_frequency_type.",\
335 "range": [0, CY_LARGE_INT], \
336 "uilabel": "Dormant Buying Frequency Minimum"}
339#pragma cyclus var {"default": -1,\
340 "tooltip": "Dormant buying distribution maximum",\
341 "doc": "The maximum length in time steps of the dormant buying period. Required for "\
342 "Uniform dormant_buying_frequency_type, optional for Normal. Must be greater than or equal to dormant_buying_min ",\
344 "range": [0, CY_LARGE_INT], \
345 "uilabel": "Dormant Buying Frequency Maximum"}
348#pragma cyclus var {"default": -1,\
349 "tooltip": "Dormant buying distribution mean",\
350 "doc": "The mean length in time steps of the dormant buying period. Required for "\
351 "Normal dormant_buying_frequency_type. Must be greater than or equal to 0 ",\
353 "range": [0.0, CY_LARGE_DOUBLE], \
354 "uilabel": "Dormant Buying Frequency Mean"}
357#pragma cyclus var {"default": -1,\
358 "tooltip": "Dormant buying distribution standard deviation",\
359 "doc": "The standard deviation of the length in time steps of the dormant buying period. "\
360 "Required for Normal dormant_buying_frequency_type. Must be greater than or equal to 0 ",\
362 "range": [0.0, CY_LARGE_DOUBLE], \
363 "uilabel": "Dormant Buying Frequency Standard Deviation"}
366#pragma cyclus var {"default": 0,\
367 "tooltip": "Probability that agent will return to active during the next time step",\
368 "doc": "Binomial distribution has a fixed probability of going active at any given "\
369 "timestep, like a weighted coin flip. Required for Binomial dormant_buying_frequency_type. "\
370 "Must be between 0 and 1",\
372 "range": [0.0, 1.0], \
373 "uilabel": "Dormant Buying Binomial Offline Probability"}
376#pragma cyclus var {"default": 0,\
377 "tooltip": "Probability that a cycle contains a disruption",\
378 "doc": "Probability that the agent undergoes a disruption (longer offline period) "\
379 "during any given cycle. Required for FixedWithDisruption dormant_buying_frequency_type.",\
381 "range": [0.0, 1.0],\
382 "uilabel": "Dormant Buying Disruption Probability"}
385#pragma cyclus var {"default": -1,\
386 "tooltip": "Fixed length of disrupted cycle",\
387 "doc": "When a dormant cycle is disrupted, this is length of the offline period instead "\
388 "of dormant_buying_val. Required for FixedWithDisruption dormant_buying_frequency_type",\
390 "range": [0, CY_LARGE_INT]}
393#pragma cyclus var {"default": "Fixed",\
394 "tooltip": "Type of behavior used to determine size of buy request",\
395 "doc": "Behavior function used to determine the size of requests made. All values are "\
396 "a fraction of maximum capacity, determined by the throughput and capacity remaining."\
397 " Options: Fixed, Uniform, Normal. Fixed is default behavior. Uniform requires "\
398 "buying_size_min and buying_size_max. Normal requires "\
399 "buying_size_mean and buying_size_stddev, optional buying_size_min and "\
401 "uitype": "combobox",\
402 "categorical": ["Fixed", "Uniform", "Normal"],\
403 "uilabel": "Buying Size Type"}
406#pragma cyclus var {"default": 1.0,\
407 "tooltip": "Fixed buying size",\
408 "doc": "The size of the buy request as a fraction of maximum capacity. Optional for Fixed "\
409 "buying_size_type. Must be greater than or equal to 0.0",\
411 "range": [0.0, 1.0], \
412 "uilabel": "Buying Size Value"}
415#pragma cyclus var {"default": -1.0,\
416 "tooltip": "Buying size distribution minimum",\
417 "doc": "The minimum size of the buy request as a fraction of maximum capacity. "\
418 "Required for Uniform and optional for Normal buying_size_type. Must be greater than "\
419 "or equal to zero.",\
421 "range": [0.0, 1.0], \
422 "uilabel": "Buying Size Minimum"}
425#pragma cyclus var {"default": -1.0,\
426 "tooltip": "Buying size distribution maximum",\
427 "doc": "The maximum size of the buy request as a fraction of maximum capacity. "\
428 "Required for Uniform buying_size_type, optional for Normal. Must be greater than "\
429 "or equal to buying_size_min ",\
431 "range": [0.0, 1.0], \
432 "uilabel": "Buying Size Maximum"}
435#pragma cyclus var {"default": -1.0,\
436 "tooltip": "Buying size distribution mean",\
437 "doc": "The mean size of the buy request as a fraction of maximum capacity. "\
438 "Required for Normal buying_size_type.",\
440 "range": [0.0, 1.0], \
441 "uilabel": "Buying Size Mean"}
444#pragma cyclus var {"default": -1.0,\
445 "tooltip": "Buying size distribution standard deviation",\
446 "doc": "The standard deviation of the size of the buy request as a fraction of "\
447 "maximum capacity. Required for Normal buying_size_type.",\
449 "range": [0.0, 1.0], \
450 "uilabel": "Buying Size Standard Deviation"}
453#pragma cyclus var {"default": -1,\
454 "tooltip":"Reorder point",\
455 "doc":"The point at which the facility will request more material. "\
456 "Above this point, no request will be made. Must be less than max_inv_size."\
457 "If paired with reorder_quantity, this agent will have an (R,Q) inventory policy. "\
458 "If reorder_point is used alone, this agent will have an (s,S) inventory policy, "\
459 " with S (the maximum) being set at max_inv_size.",\
460 "uilabel":"Reorder Point"}
463#pragma cyclus var {"default": -1,\
464 "tooltip":"Reorder amount (R,Q inventory policy)",\
465 "doc":"The amount of material that will be requested when the reorder point is reached. "\
466 "Exclusive request, so will demand exactly reorder_quantity."\
467 "Reorder_point + reorder_quantity must be less than max_inv_size.",\
468 "uilabel":"Reorder Quantity"}
471#pragma cyclus var {"default": -1,\
472 "tooltip": "Total amount of material that can be recieved per cycle.",\
473 "doc": "After receiving this much material cumulatively, the agent will go dormant. "\
474 "Must be paired with dormant_buying_frequency_type and any other dormant parameters. "\
475 "The per-time step demand is unchanged except the cycle cap is almost reached.",\
476 "uilabel": "Cumulative Cap"}
Binary distribution requires twp options and a probability.
boost::shared_ptr< DoubleDistribution > Ptr
boost::shared_ptr< FixedDoubleDist > Ptr
boost::shared_ptr< FixedIntDist > Ptr
boost::shared_ptr< IntDistribution > Ptr
NegativeBinomialIntDist takes the number of successes desired and a probability of success on a singl...
boost::shared_ptr< NegativeBinomialIntDist > Ptr
boost::shared_ptr< NormalDoubleDist > Ptr
boost::shared_ptr< NormalIntDist > Ptr
For values that are too big, too small, etc.
std::vector< int > cycpp_shape_buying_size_stddev
std::vector< int > cycpp_shape_dormant_buying_end_probability
void InitBuyPolicyParameters()
sets up the distributions for the buy policy
std::vector< int > cycpp_shape_dormant_buying_max
std::vector< int > cycpp_shape_buying_size_val
std::vector< int > cycpp_shape_dormant_buying_disruption
int active_buying_disruption
int dormant_buying_disruption
double dormant_buying_disruption_probability
double dormant_buying_end_probability
std::vector< int > cycpp_shape_active_buying_end_probability
std::vector< int > cycpp_shape_dormant_buying_min
std::vector< int > cycpp_shape_active_buying_mean
std::string dormant_buying_frequency_type
std::vector< int > cycpp_shape_active_buying_max
std::vector< int > cycpp_shape_buying_size_min
double active_buying_end_probability
double buying_size_stddev
std::vector< int > cycpp_shape_reorder_quantity
double active_buying_stddev
std::vector< int > cycpp_shape_dormant_buying_disruption_probability
std::vector< int > cycpp_shape_cumulative_cap
std::vector< int > cycpp_shape_active_buying_stddev
std::vector< int > cycpp_shape_dormant_buying_stddev
std::vector< int > cycpp_shape_active_buying_val
std::string active_buying_frequency_type
std::vector< int > cycpp_shape_dormant_buying_val
double active_buying_disruption_probability
cyclus::toolkit::MatlBuyPolicy buy_policy
std::vector< int > cycpp_shape_buying_size_max
double active_buying_mean
cyclus::IntDistribution::Ptr dormant_dist_
std::vector< int > cycpp_shape_active_buying_disruption_probability
std::vector< int > cycpp_shape_active_buying_min
double dormant_buying_mean
std::vector< int > cycpp_shape_dormant_buying_frequency_type
std::vector< int > cycpp_shape_buying_size_mean
std::vector< int > cycpp_shape_buying_size_type
cyclus::IntDistribution::Ptr active_dist_
std::vector< int > cycpp_shape_active_buying_frequency_type
std::string buying_size_type
std::vector< int > cycpp_shape_reorder_point
std::vector< int > cycpp_shape_active_buying_disruption
double dormant_buying_stddev
cyclus::DoubleDistribution::Ptr size_dist_
std::vector< int > cycpp_shape_dormant_buying_mean