Optional provision of input files, if provided ALL relevant input files needs to be defined, if not, the program will check for files with default naming in the current working folder Execution period of the simulation or optimization Optional definition of the execution mode of the application, default = simulation if not provided Optional parallelization settings Logging File with the time series model definition Optional file with the definition of an optimization problem including optimization variables, constraints and objective function terms Optional file with externalized (scalar) parameters Optional file with the definition of a scenario tree for the control trajectory in case of multi-stage stochastic optimization problems File with the schematization of the process model, i.e. the model of the water resources systems The execution period is user-defined by start and end time, time step and optionally the number of ensembles. The execution period is defined by the first time series of the referred PI-XML file. The execution period is defined in the PI-XML run file. Start date and time of the similation. End date and time of the simulation. Forecast date and time of the simulation. Time step of the simulation (till now, the model supports only equidistant time steps) Optional number of ensemble of the simulation. If not provided, one ensemble member is assumed. optional number of ensemble, if not provides one ensemble member is assumed Time step of the simulation (till now, the model supports only equidistant time steps) optional number of ensemble, if not provides one ensemble member is assumed Simulation mode (default) Calculation of first-order model sensitivities of an objective function value with respect to inputs, states and outputs (requires the definition of an objective function in the rtcObjectiveConfig.xml) Optimization mode (requires the definition of an optimization problem in the rtcObjectiveConfig.xml) Closed loop mode with an alternating switch between simulation and optimization limited-memory option for time series matrix Selection of one or more optimizer settings for solving the optimization problem Mode for defining more robust hybrid optimizer settings for running optimizations sequentially (optimimum of the first is input for the next) or parallel (independent optimization, best one is returned), STILL NOT IMPLEMENTED This option generates a GAMS optimization problem with an external model in RTC-Tools. Note that you need to run the optimization in GAMS after executing the stand alone RTC-Tools. Optimization by the IPOPT optimizer, check also the related documentation on the COIN-OR website Optimization by a simulated annealing optimizer (NOT FULLY IMPLEMENTED right now) Output options Termination criteria Scaling options for the optimization problem Settings of the nonlinear optimizer Settings and selection of the integrated linear equation solver Optional hessian settings Optional derivative checker Output verbosity level 0-12, NONE=0 ERROR=1 STRONGWARNING=2 SUMMARY=3 WARNING=4 ITERSUMMARY=5 DETAILED=6 MOREDETAILED=7 VECTOR=8 MOREVECTOR=9 MATRIX=10 MOREMATRIX=11 ALL=12 Print all options set by the user [no/yes] Switch to print all algorithmic options [no/yes] Switch to print timing statistics [no/yes] Verbosity level for output file 0-12 NONE=0 ERROR=1 STRONGWARNING=2 SUMMARY=3 WARNING=4 ITERSUMMARY=5 DETAILED=6 MOREDETAILED=7 VECTOR=8 MOREVECTOR=9 MATRIX=10 MOREMATRIX=11 ALL=12 Desired convergence tolerance (relative) Maximum number of iterations Maximum number of CPU seconds Desired threshold for the dual infeasibility Desired threshold for the constraint violation Desired threshold for the complementarity conditions "Acceptable" convergence tolerance (relative) Number of "acceptable" iterates before triggering termination "Acceptance" threshold for the constraint violation "Acceptance" threshold for the dual infeasibility "Acceptance" threshold for the complementarity conditions "Acceptance" stopping criterion based on objective function change Threshold for maximal value of primal iterates Other return codes than SUCESS are treated as error message Scaling factor for the objective function Select the technique used for scaling the NLP Maximum gradient after NLP scaling Maximum gradient after NLP scaling Factor for initial relaxation of the bounds Indicates whether final points should be projected into original bounds [no/yes] Indicates whether it is desired to check for Nan/Inf in derivative matrices [no/yes] Determines how fixed variables should be handled Indicates whether all equality constraints are linear [no/yes] Indicates whether all inequality constraints are linear [no/yes] Linear solver used for step computations Method for scaling the linear system. Determines the method used to compute symmetric scaling factors for the augmented system (see also the "linear_scaling_on_demand" option). This scaling is independent of the NLP problem scaling. By default, MC19 is only used if MA27 or MA57 are selected as linear solvers. This value is only available if Ipopt has been compiled with MC19. The default value for this string option is "mc19". Flag indicating that linear scaling is only done if it seems required. This option is only important if a linear scaling method (e.g., mc19) is used. If you choose "no", then the scaling factors are computed for every linear system from the start. This can be quite expensive. Choosing "yes" means that the algorithm will start the scaling method only when the solutions to the linear system seem not good, and then use it until the end. The default value for this string option is "yes". Minimum number of iterative refinement steps per linear system solve. Iterative refinement (on the full unsymmetric system) is performed for each right hand side. This option determines the minimum number of iterative refinements (i.e. at least "min_refinement_steps" iterative refinement steps are enforced per right hand side.) The valid range for this integer option is [0,+inf] and its default value is 10. Maximum number of iterative refinement steps per linear system solve. Iterative refinement (on the full unsymmetric system) is performed for each right hand side. This option determines the maximum number of iterative refinements (i.e. at least "min_refinement_steps" iterative refinement steps are enforced per right hand side.) The valid range for this integer option is [0,+inf] and its default value is 1. Pivot tolerance for the linear solver MA27. A smaller number pivots for sparsity, a larger number pivots for stability. This option is only available if Ipopt has been compiled with MA27. The valid range for this real option is [0,1] and its default value is 1e-8. Maximum pivot tolerance for the linear solver MA27. Ipopt may increase pivtol as high as ma27_pivtolmax to get a more accurate solution to the linear system. This option is only available if Ipopt has been compiled with MA27. The valid range for this real option is [0,1] and its default value is 0.0001. Integer workspace memory for MA27. The initial integer workspace memory = liw_init_factor * memory required by unfactored system. Ipopt will increase the workspace size by meminc_factor if required. This option is only available if Ipopt has been compiled with MA27. The valid range for this real option is [1, inf] and its default value is 5. Real workspace memory for MA27. The initial real workspace memory = la_init_factor * memory required by unfactored system. Ipopt will increase the workspace size by meminc_factor if required. This option is only available if Ipopt has been compiled with MA27. The valid range for this real option is [1, inf] and its default value is 5. Increment factor for workspace size for MA27. If the integer or real workspace is not large enough, Ipopt will increase its size by this factor. This option is only available if Ipopt has been compiled with MA27. The valid range for this real option is [1, inf] and its default value is 2. Pivot tolerance for the linear solver MA57. A smaller number pivots for sparsity, a larger number pivots for stability. This option is only available if Ipopt has been compiled with MA57. The valid range for this real option is [0,1] and its default value is 1e-8. Maximum pivot tolerance for the linear solver MA57. Ipopt may increase pivtol as high as ma57_pivtolmax to get a more accurate solution to the linear system. This option is only available if Ipopt has been compiled with MA57. The valid range for this real option is [0,1] and its default value is 0.0001. Safety factor for work space memory allocation for the linear solver MA57. If 1 is chosen, the suggested amount of work space is used. However, choosing a larger number might avoid reallocation if the suggest values do not suffice. This option is only available if Ipopt has been compiled with MA57. The valid range for this real option is [1, inf] and its default value is 1.05. Controls pivot order in MA57 This is ICNTL(6) in MA57. The valid range for this integer option is [0,5] and its default value is 5. Controls MA57 automatic scaling This option controls the internal scaling option of MA57. For higher reliability of the MA57 solver, you may want to set this option to yes. This is ICNTL(15) in MA57. The default value for this string option is "no". Possible values: no: Do not scale the linear system matrix yes: Scale the linear system matrix Controls block size used by Level 3 BLAS in MA57BD This is ICNTL(11) in MA57. The valid range for this integer option is [1, inf] and its default value is 16. . Node amalgamation parameter This is ICNTL(12) in MA57. The valid range for this integer option is [1, inf] and its default value is 16. If set to 1, then when small entries defined by CNTL(2) are detected they are removed and the corresponding pivots placed at the end of the factorization. This can be particularly efficient if the matrix is highly rank deficient. This is ICNTL(16) in MA57. The valid range for this integer option is [0,1] and its default value is 0. Debug printing level for the linear solver ma86 The valid range for this integer option is [-inf, +inf] and its default value is -1. Node Amalgamation parameter Two nodes in elimination tree are merged if result has fewer than ma86_nemin variables. The valid range for this integer option is [1, inf] and its default value is 32. CControls type of ordering used by HSL_MA86 This option controls ordering for the solver HSL_MA86. The default value for this string option is "auto". Possible values: auto: Try both AMD and MeTiS, pick best amd: Use the HSL_MC68 approximate minimum degree algorithm metis: Use the MeTiS nested dissection algorithm (if available) Controls scaling of matrix This option controls scaling for the solver HSL_MA86. The default value for this string option is "mc64". Possible values: none: Do not scale the linear system matrix mc64: Scale linear system matrix using MC64 mc77: Scale linear system matrix using MC77 [1,3,0] Zero Pivot Threshold Any pivot less than ma86_small is treated as zero. The valid range for this real option is [0, inf] and its default value is 1e-20. Static Pivoting Threshold See ma86 documentation. Either ma86_static=0.0 or ma86_static>ma86_small. ma86_static=0.0 disables static pivoting. The valid range for this real option is [0, inf] and its default value is 0 . Pivoting Threshold See ma86 documentation. The valid range for this real option is [0, 0.5] and its default value is 1e-8. Maximum Pivoting Threshold Maximum value to which u will be increased to improve quality. The valid range for this real option is [0, 0.5] and its default value is 0.0001. Debug printing level for the linear solver MA77 The valid range for this integer option is [-inf, +inf] and its default value is -1. Number of scalars per MA77 buffer page Number of scalars per an in-core buffer in the out-of-core solver MA77. Must be at most ma77_file_size. The valid range for this integer option is [1, inf] and its default value is 4096. Number of pages that make up MA77 buffer Number of pages of size buffer_lpage that exist in-core for the out-of-core solver MA77. The valid range for this integer option is [1, inf] and its default value is 1600. Target size of each temporary file for MA77, scalars per type MA77 uses many temporary files, this option controls the size of each one. It is measured in the number of entries (int or double), NOT bytes. The valid range for this integer option is [1, inf] and its default value is 2097152. Maximum storage size for MA77 in-core mode If greater than zero, the maximum size of factors stored in core before out-of-core mode is invoked. The valid range for this integer option is [0, inf] and its default value is 0 Node Amalgamation parameter Two nodes in elimination tree are merged if result has fewer than ma77_nemin variables. The valid range for this integer option is [1, inf] and its default value is 8. Controls type of ordering used by HSL_MA77 This option controls ordering for the solver HSL_MA77. The default value for this string option is "metis". Possible values: amd: Use the HSL_MC68 approximate minimum degree algorithm metis: Use the MeTiS nested dissection algorithm (if available) Zero Pivot Threshold Any pivot less than ma77_small is treated as zero. The valid range for this real option is [0, inf] and its default value is 1e-20. Static Pivoting Threshold See MA77 documentation. Either ma77_static=0.0 or ma77_static>ma77_small. ma77_static=0.0 disables static pivoting. The valid range for this real option is [0, inf] and its default value is 0 . Pivoting Threshold See MA77 documentation. The valid range for this real option is [0, 0.5] and its default value is 1e-8. Maximum Pivoting Threshold Maximum value to which u will be increased to improve quality. The valid range for this real option is [0, 0.5]and its default value is 0.0001. Debug printing level for the linear solver MA97 The valid range for this integer option is [-inf, +inf] and its default value is 0. Node Amalgamation parameter Two nodes in elimination tree are merged if result has fewer than ma97_nemin variables. The valid range for this integer option is [1, inf] and its default value is 8. Controls type of ordering used by HSL_MA97 The default value for this string option is "auto". Possible values: auto: Use HSL_MA97 heuristic to guess best of AMD and METIS best: Try both AMD and MeTiS, pick best amd: Use the HSL_MC68 approximate minimum degree algorithm metis: Use the MeTiS nested dissection algorithm matched-auto: Use the HSL_MC80 matching with heuristic choice of AMD or METIS matched-metis: Use the HSL_MC80 matching based ordering with METIS matched-amd: Use the HSL_MC80 matching based ordering with AMD Specifies strategy for scaling in HSL_MA97 linear solver The default value for this string option is "dynamic". Possible values: none: Do not scale the linear system matrix mc30: Scale all linear system matrices using MC30 mc64: Scale all linear system matrices using MC64 mc77: Scale all linear system matrices using MC77 [1,3,0] dynamic: Dynamically select scaling according to rules specified by ma97_scalingX and ma97_switchX options. First scaling. If ma97_scaling=dynamic, this scaling is used according to the trigger ma97_switch1. If ma97_switch2 is triggered it is disabled. The default value for this string option is "mc64". Possible values: none: No scaling mc30: Scale linear system matrix using MC30 mc64: Scale linear system matrix using MC64 mc77: Scale linear system matrix using MC77 [1,3,0] Second scaling. If ma97_scaling=dynamic, this scaling is used according to the trigger ma97_switch2. If ma97_switch3 is triggered it is disabled. The default value for this string option is "mc64". Possible values: none: No scaling mc30: Scale linear system matrix using MC30 mc64: Scale linear system matrix using MC64 mc77: Scale linear system matrix using MC77 [1,3,0] Third scaling. If ma97_scaling=dynamic, this scaling is used according to the trigger ma97_switch3. The default value for this string option is "mc64". Possible values: none: No scaling mc30: Scale linear system matrix using MC30 mc64: Scale linear system matrix using MC64 mc77: Scale linear system matrix using MC77 [1,3,0] Zero Pivot Threshold Any pivot less than ma77_small is treated as zero. The valid range for this real option is [0, inf] and its default value is 1e-20. Controls if blas2 or blas3 routines are used for solve The default value for this string option is "no". Possible values: no: Use BLAS2 (faster, some implementations bit incompatible) yes: Use BLAS3 (slower) First switch, determine when ma97_scaling1 is enabled. If ma97_scaling=dynamic, ma97_scaling1 is enabled according to this condition. If ma97_switch2 occurs this option is henceforth ignored. The default value for this string option is "od_hd_reuse". Possible values: never: Scaling is never enabled. at_start: Scaling to be used from the very start. at_start_reuse: Scaling to be used on first iteration, then reused thereafter. on_demand: Scaling to be used after Ipopt request improved solution (i.e. iterative refinement has failed). on_demand_reuse: As on_demand, but reuse scaling from previous itr high_delay: Scaling to be used after more than 0.05*n delays are present high_delay_reuse: Scaling to be used only when previous itr created more that 0.05*n additional delays, otherwise reuse scaling from previous itr od_hd: Combination of on_demand and high_delay od_hd_reuse: Combination of on_demand_reuse and high_delay_reuse Second switch, determine when ma97_scaling2 is enabled. If ma97_scaling=dynamic, ma97_scaling2 is enabled according to this condition. If ma97_switch3 occurs this option is henceforth ignored. The default value for this string option is "never". Possible values: never: Scaling is never enabled. at_start: Scaling to be used from the very start. at_start_reuse: Scaling to be used on first iteration, then reused thereafter. on_demand: Scaling to be used after Ipopt request improved solution (i.e. iterative refinement has failed). on_demand_reuse: As on_demand, but reuse scaling from previous itr high_delay: Scaling to be used after more than 0.05*n delays are present high_delay_reuse: Scaling to be used only when previous itr created more that 0.05*n additional delays, otherwise reuse scaling from previous itr od_hd: Combination of on_demand and high_delay od_hd_reuse: Combination of on_demand_reuse and high_delay_reuse Third switch, determine when ma97_scaling3 is enabled. If ma97_scaling=dynamic, ma97_scaling3 is enabled according to this condition. The default value for this string option is "never". Possible values: never: Scaling is never enabled. at_start: Scaling to be used from the very start. at_start_reuse: Scaling to be used on first iteration, then reused thereafter. on_demand: Scaling to be used after Ipopt request improved solution (i.e. iterative refinement has failed). on_demand_reuse: As on_demand, but reuse scaling from previous itr high_delay: Scaling to be used after more than 0.05*n delays are present high_delay_reuse: Scaling to be used only when previous itr created more that 0.05*n additional delays, otherwise reuse scaling from previous itr od_hd: Combination of on_demand and high_delay od_hd_reuse: Combination of on_demand_reuse and high_delay_reuse Pivoting Threshold See MA97 documentation. The valid range for this real option is [0, 0.5] and its default value is 1e-8. Maximum Pivoting Threshold See MA97 documentation. The valid range for this real option is [0, 0.5] and its default value is 0.0001. Pivot tolerance for the linear solver MUMPS. A smaller number pivots for sparsity, a larger number pivots for stability. This option is only available if Ipopt has been compiled with MUMPS. The valid range for this real option is [0,1] and its default value is 1e-6. Maximum pivot tolerance for the linear solver MUMPS. Ipopt may increase pivtol as high as pivtolmax to get a more accurate solution to the linear system. This option is only available if Ipopt has been compiled with MUMPS. The valid range for this real option is [0,1] and its default value is 0.1 Percentage increase in the estimated working space for MUMPS. In MUMPS when significant extra fill-in is caused by numerical pivoting, larger values of mumps_mem_percent may help use the workspace more efficiently. On the other hand, if memory requirement are too large at the very beginning of the optimization, choosing a much smaller value for this option, such as 5, might reduce memory requirements. The valid range for this integer option is [0, inf] and its default value is 1000. Controls permuting and scaling in MUMPS This is ICNTL(6) in MUMPS. The valid range for this integer option is [0,7] and its default value is 7. Controls pivot order in MUMPS This is ICNTL(7) in MUMPS. The valid range for this integer option is [0, 7] and its default value is 7. Controls scaling in MUMPS This is ICNTL(8) in MUMPS. The valid range for this integer option is [-2,77] and its default value is 77. Matching strategy to be used by Pardiso This is IPAR(13) in Pardiso manual. The default value for this string option is "complete+2x2". Possible values: complete: Match complete (IPAR(13)=1) complete+2x2: Match complete+2x2 (IPAR(13)=2) constraints: Match constraints (IPAR(13)=3) Limit on number of iterative refinement steps. The solver does not perform more than the absolute value of this value steps of iterative refinement and stops the process if a satisfactory level of accuracy of the solution in terms of backward error is achieved. If negative, the accumulation of the residue uses extended precision real and complex data types. Perturbed pivots result in iterative refinement. The solver automatically performs two steps of iterative refinements when perturbed pivots are obtained during the numerical factorization and this option is set to 0. The valid range for this integer option is [-inf, inf] and its default value is 0 . Pardiso message level This determines the amount of analysis output from the Pardiso solver. This is MSGLVL in the Pardiso manual. The valid range for this integer option is [0, inf] and its default value is 0 . Controls the fill-in reduction ordering algorithm for the input matrix. The default value for this string option is "five". Possible values: amd: minimum degree algorithm one: undocumented metis: MeTiS nested dissection algorithm pmetis: parallel (OpenMP) version of MeTiS nested dissection algorithm four: undocumented five: undocumented Maximum size of the history for the limited quasi-Newton Hessian approximation Threshold for successive iterations where update is skipped Enable derivative checker Size of the finite difference perturbation in derivative test Threshold for indicating wrong derivative Indicates whether information for all estimated derivatives should be printed Specifies technique to compute constraint Jacobian Size of the finite difference perturbation for derivative approximation Smallest perturbation of the Hessian block. The size of the perturbation of the Hessian block is never selected smaller than this value, unless no perturbation is necessary. (This is delta_wmin in implementation paper.) The valid range for this real option is [0, +inf] and its default value is 1e-20 This parameter gives the maximum value of the regularization parameter. If a regularization of that size is not enough, the algorithm skips this iteration and goes to the restoration phase. (This is delta_wmax in the implementation paper.) The valid range for this real option is [0,+inf] and its default value is 1e+20. Size of first x-s perturbation tried. The first value tried for the x-s perturbation in the inertia correction scheme.(This is delta_0 in the implementation paper.) The valid range for this real option is [0, inf] and its default value is 1e4. Increase factor for x-s perturbation for very first perturbation. The factor by which the perturbation is increased when a trial value was not sufficient - this value is used for the computation of the very first perturbation and allows a different value for for the first perturbation than that used for the remaining perturbations. (This is bar_kappa_w+ in the implementation paper.) The valid range for this real option is [1,inf] and its default value is100. Increase factor for x-s perturbation. The factor by which the perturbation is increased when a trial value was not sufficient - this value is used for the computation of all perturbations except for the first. (This is kappa_w+ in the implementation paper.) The valid range for this real option is [0, inf] and its default value is 8. Decrease factor for x-s perturbation. The factor by which the perturbation is decreased when a trial value is deduced from the size of the most recent successful perturbation. (This is kappa_w- in the implementation paper.) The valid range for this real option is [0, inf] and its default value is 0.333333. Size of the regularization for rank-deficient constraint Jacobians. (This is bar delta_c in the implementation paper.) The valid range for this real option is [0, inf] and its default value is 1e-8. . Enable heuristics to quickly detect an infeasible problem. This options is meant to activate heuristics that may speed up the infeasibility determination if you expect that there is a good chance for the problem to be infeasible. In the filter line search procedure, the restoration phase is called more quickly than usually, and more reduction in the constraint violation is enforced before the restoration phase is left. If the problem is square, this option is enabled automatically. The default value for this string option is "no". Possible values: no: the problem probably be feasible yes: the problem has a good chance to be infeasible Threshold for disabling "expect_infeasible_problem" option. If the constraint violation becomes smaller than this threshold, the "expect_infeasible_problem" heuristics in the filter line search are disabled. If the problem is square, this options is set to 0. The valid range for this real option is [0, inf] and its default value is 0.001. Multiplier threshold for activating "expect_infeasible_problem" option. If the max norm of the constraint multipliers becomes larger than this value and "expect_infeasible_problem" is chosen, then the restoration phase is entered. The valid range for this real option is [0, inf] and its default value is 1e8. Tells algorithm to switch to restoration phase in first iteration. Setting this option to "yes" forces the algorithm to switch to the feasibility restoration phase in the first iteration. If the initial point is feasible, the algorithm will abort with a failure. The default value for this string option is "no". Possible values: no: don't force start in restoration phase yes: force start in restoration phase Required reduction in primal-dual error in the soft restoration phase. The soft restoration phase attempts to reduce the primal-dual error with regular steps. If the damped primal-dual step (damped only to satisfy the fraction-to-the-boundary rule) is not decreasing the primal-dual error by at least this factor, then the regular restoration phase is called. Choosing "0" here disables the soft restoration phase. The valid range for this real option is [0, inf] and its default value is 0.9999 . Required reduction of infeasibility before leaving restoration phase. The restoration phase algorithm is performed, until a point is found that is acceptable to the filter and the infeasibility has been reduced by at least the fraction given by this option. The valid range for this real option is [0, inf] and its default value is 0.9 . Threshold for resetting bound multipliers after the restoration phase. After returning from the restoration phase, the bound multipliers are updated with a Newton step for complementarity. Here, the change in the primal variables during the entire restoration phase is taken to be the corresponding primal Newton step. However, if after the update the largest bound multiplier exceeds the threshold specified by this option, the multipliers are all reset to 1. The valid range for this real option is [0, inf] and its default value is 1000 . Threshold for resetting equality and inequality multipliers after restoration phase. After returning from the restoration phase, the constraint multipliers are recomputed by a least square estimate. This option triggers when those least-square estimates should be ignored. The valid range for this real option is [0, inf] and its default value is 0 . Determines if the original objective function should be evaluated at restoration phase trial points. Setting this option to "yes" makes the restoration phase algorithm evaluate the objective function of the original problem at every trial point encountered during the restoration phase, even if this value is not required. In this way, it is guaranteed that the original objective function can be evaluated without error at all accepted iterates; otherwise the algorithm might fail at a point where the restoration phase accepts an iterate that is good for the restoration phase problem, but not the original problem. On the other hand, if the evaluation of the original objective is expensive, this might be costly. The default value for this string option is "yes". Possible values: no: skip evaluation yes: evaluate at every trial point Method to determine the step size for constraint multipliers. This option determines how the step size (alpha_y) will be calculated when updating the constraint multipliers. The default value for this string option is "primal". Possible values: primal: use primal step size bound-mult: use step size for the bound multipliers (good for LPs) min: use the min of primal and bound multipliers max: use the max of primal and bound multipliers full: take a full step of size one min-dual-infeas: choose step size minimizing new dual infeasibility safer-min-dual-infeas: like "min_dual_infeas", but safeguarded by "min" and "max" primal-and-full: use the primal step size, and full step if delta_x smaller or equal than alpha_for_y_tol dual-and-full: use the dual step size, and full step if delta_x smaller or equal than alpha_for_y_tol acceptor: Call LSAcceptor to get step size for y Tolerance for switching to full equality multiplier steps. This is only relevant if "alpha_for_y" is chosen "primal-and-full" or "dual-and-full". The step size for the equality constraint multipliers is taken to be one if the max-norm of the primal step is less than this tolerance. The valid range for this real option is [0, inf] and its default value is 10. Tells the algorithm to recalculate the equality and inequality multipliers as least square estimates. This asks the algorithm to recompute the multipliers, whenever the current infeasibility is less than recalc_y_feas_tol. Choosing yes might be helpful in the quasi-Newton option. However, each recalculation requires an extra factorization of the linear system. If a limited memory quasi-Newton option is chosen, this is used by default. The default value for this string option is "no". Possible values: no: use the Newton step to update the multipliers yes: use least-square multiplier estimates Feasibility threshold for recomputation of multipliers. If recalc_y is chosen and the current infeasibility is less than this value, then the multipliers are recomputed. The valid range for this real option is [0, inf] and its default value is 1e-6. Maximum number of second order correction trial steps at each iteration. Choosing 0 disables the second order corrections. (This is pmax of Step A-5.9 of Algorithm A in the implementation paper.) The valid range for this integer option is [0, inf] and its default value is 4 . Number of shortened iterations that trigger the watchdog. If the number of successive iterations in which the backtracking line search did not accept the first trial point exceeds this number, the watchdog procedure is activated. Choosing "0" here disables the watchdog procedure. The valid range for this integer option is [0,inf] and its default value is 10. Maximum number of watchdog iterations. This option determines the number of trial iterations allowed before the watchdog procedure is aborted and the algorithm returns to the stored point. The valid range for this integer option is [1, inf] and its default value is 3. Always accept the first trial step. Setting this option to "yes" essentially disables the line search and makes the algorithm take aggressive steps, without global convergence guarantees. The default value for this string option is "no". Possible values: no: don't arbitrarily accept the full step yes: always accept the full step Warm-start for initial point Indicates whether this optimization should use a warm start initialization, where values of primal and dual variables are given (e.g., from a previous optimization of a related problem.) The default value for this string option is "no". Possible values: no: do not use the warm start initialization yes: use the warm start initialization same as bound_frac for the regular initializer. The valid range for this real option is [0,0.5] and its default value is 0.001. same as bound_push for the regular initializer. The valid range for this real option is [0, inf] and its default value is 0.001. same as slack_bound_frac for the regular initializer. The valid range for this real option is [0,0.5] and its default value is 0.001. same as slack_bound_push for the regular initializer. The valid range for this real option is [0, inf] and its default value is 0.001. same as mult_bound_push for the regular initializer. The valid range for this real option is [0, inf] and its default value is 0.001. Maximum initial value for the equality multipliers. The valid range for this real option is [-inf, +inf] and its default value is 1e6. Desired minimum relative distance from the initial point to bound. Determines how much the initial point might have to be modified in order to be sufficiently inside the bounds (together with "bound_push"). (This is kappa_2 in Section 3.6 of implementation paper.) The valid range for this real option is [0, 0.5]and its default value is 0.01.. Desired minimum absolute distance from the initial point to bound. Determines how much the initial point might have to be modified in order to be sufficiently inside the bounds (together with "bound_frac"). (This is kappa_1 in Section 3.6 of implementation paper.) The valid range for this real option is [0, inf] and its default value is 0.01. Desired minimum relative distance from the initial slack to bound. Determines how much the initial slack variables might have to be modified in order to be sufficiently inside the inequality bounds (together with "slack_bound_push"). (This is kappa_2 in Section 3.6 of implementation paper.) The valid range for this real option is [0, 0.5] and its default value is 0.01. Desired minimum absolute distance from the initial slack to bound. Determines how much the initial slack variables might have to be modified in order to be sufficiently inside the inequality bounds (together with "slack_bound_frac"). (This is kappa_1 in Section 3.6 of implementation paper.) The valid range for this real option is [0, inf] and its default value is 0.01. Initial value for the bound multipliers. All dual variables corresponding to bound constraints are initialized to this value. The valid range for this real option is [0, inf] and its default value is 1. Maximum allowed least-square guess of constraint multipliers. Determines how large the initial least-square guesses of the constraint multipliers are allowed to be (in max-norm). If the guess is larger than this value, it is discarded and all constraint multipliers are set to zero. This options is also used when initializing the restoration phase. By default, "resto.constr_mult_init_max" (the one used in RestoIterateInitializer) is set to zero. The valid range for this real option is [0, inf] and its default value is 1000. Initialization method for bound multipliers This option defines how the iterates for the bound multipliers are initialized. If "constant" is chosen, then all bound multipliers are initialized to the value of "bound_mult_init_val". If "mu-based" is chosen, the each value is initialized to the the value of "mu_init" divided by the corresponding slack variable. This latter option might be useful if the starting point is close to the optimal solution. The default value for this string option is "constant". Possible values: constant: set all bound multipliers to the value of bound_mult_init_val mu-based: initialize to mu_init/x_slack Indicates if we want to do Mehrotra's algorithm. If set to yes, Ipopt runs as Mehrotra's predictor-corrector algorithm. This works usually very well for LPs and convex QPs. This automatically disables the line search, and chooses the (unglobalized) adaptive mu strategy with the "probing" oracle, and uses "corrector_type=affine" without any safeguards; you should not set any of those options explicitly in addition. Also, unless otherwise specified, the values of "bound_push", "bound_frac", and "bound_mult_init_val" are set more aggressive, and sets "alpha_for_y=bound_mult". The default value for this string option is "no". Possible values: no: Do the usual Ipopt algorithm. yes: Do Mehrotra's predictor-corrector algorithm. Update strategy for barrier parameter. Determines which barrier parameter update strategy is to be used. The default value for this string option is "monotone". Possible values: monotone: use the monotone (Fiacco-McCormick) strategy adaptive: use the adaptive update strategy Oracle for a new barrier parameter in the adaptive strategy. Determines how a new barrier parameter is computed in each "free-mode" iteration of the adaptive barrier parameter strategy. (Only considered if "adaptive" is selected for option "mu_strategy"). The default value for this string option is "quality-function". Possible values: probing: Mehrotra's probing heuristic loqo: LOQO's centrality rule quality-function: minimize a quality function Maximum number of search steps during direct search procedure determining the optimal centering parameter. The golden section search is performed for the quality function based mu oracle. (Only used if option "mu_oracle" is set to "quality-function".) The valid range for this integer option is [0, inf] and its default value is 8. Oracle for the barrier parameter when switching to fixed mode. Determines how the first value of the barrier parameter should be computed when switching to the "monotone mode" in the adaptive strategy. (Only considered if "adaptive" is selected for option "mu_strategy".) The default value for this string option is "average_compl". Possible values: probing: Mehrotra's probing heuristic loqo: LOQO's centrality rule quality-function: minimize a quality function average_compl: base on current average complementarity Globalization strategy for the adaptive mu selection mode. To achieve global convergence of the adaptive version, the algorithm has to switch to the monotone mode (Fiacco-McCormick approach) when convergence does not seem to appear. This option sets the criterion used to decide when to do this switch. (Only used if option "mu_strategy" is chosen as "adaptive".) The default value for this string option is "obj-constr-filter". Possible values: kkt-error: nonmonotone decrease of kkt-error obj-constr-filter: 2-dim filter for objective and constraint violation never-monotone-mode: disables globalization Initial value for the barrier parameter. This option determines the initial value for the barrier parameter (mu). It is only relevant in the monotone, Fiacco-McCormick version of the algorithm. (i.e., if "mu_strategy" is chosen as "monotone") The valid range for this real option is [0,inf] and its default value is0.1.. Factor for initialization of maximum value for barrier parameter. This option determines the upper bound on the barrier parameter. This upper bound is computed as the average complementarity at the initial point times the value of this option. (Only used if option "mu_strategy" is chosen as "adaptive".) The valid range for this real option is [0, inf] and its default value is 1000. Maximum value for barrier parameter. This option specifies an upper bound on the barrier parameter in the adaptive mu selection mode. If this option is set, it overwrites the effect of mu_max_fact. (Only used if option "mu_strategy" is chosen as "adaptive".) The valid range for this real option is [0, inf] and its default value is 100000. Minimum value for barrier parameter. This option specifies the lower bound on the barrier parameter in the adaptive mu selection mode. By default, it is set to the minimum of 1e-11 and min("tol","compl_inf_tol")/("barrier_tol_factor"+1), which should be a reasonable value. (Only used if option "mu_strategy" is chosen as "adaptive".) The valid range for this real option is [0, inf] and its default value is 1e-11. Desired value of complementarity. Usually, the barrier parameter is driven to zero and the termination test for complementarity is measured with respect to zero complementarity. However, in some cases it might be desired to have Ipopt solve barrier problem for strictly positive value of the barrier parameter. In this case, the value of "mu_target" specifies the final value of the barrier parameter, and the termination tests are then defined with respect to the barrier problem for this value of the barrier parameter. The valid range for this real option is [0, inf] and its default value is 0. Factor for mu in barrier stop test. The convergence tolerance for each barrier problem in the monotone mode is the value of the barrier parameter times "barrier_tol_factor". This option is also used in the adaptive mu strategy during the monotone mode. (This is kappa_epsilon in implementation paper). The valid range for this real option is [0, inf]and its default value is 10. Determines linear decrease rate of barrier parameter. For the Fiacco-McCormick update procedure the new barrier parameter mu is obtained by taking the minimum of mu*"mu_linear_decrease_factor" and mu"superlinear_decrease_power". (This is kappa_mu in implementation paper.) This option is also used in the adaptive mu strategy during the monotone mode. The valid range for this real option is[0,1] and its default value is 0.2 Determines superlinear decrease rate of barrier parameter. For the Fiacco-McCormick update procedure the new barrier parameter mu is obtained by taking the minimum of mu*"mu_linear_decrease_factor" and mu"superlinear_decrease_power". (This is theta_mu in implementation paper.) This option is also used in the adaptive mu strategy during the monotone mode. The valid range for this real option is [1,2] and its default value is 1.5. ??? ??? Maximum number of iterations maximum cpu time for executing the optimization definition of the logging level, 0 = fatal error, 1 = error, 2 = warning, 3 = info, 4 = debug messages set flushing of the diagnostics file after each new message (=true) or at the end of the program execution (=false) tolerance for scaled constraints for which a constraint violation is detected report constraint violation in diagnostics constraint violation is reported as 0 = fatal error, 1 = error, 2 = warning, 3 = info, 4 = debug messages Number of time steps after which the optimization is repeated Number of time steps of forecasts in the predictive control mode