-
Notifications
You must be signed in to change notification settings - Fork 23
/
test_knitro.opt
791 lines (642 loc) · 28.7 KB
/
test_knitro.opt
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
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
# Artelys Knitro 12.0.0 Options file
# http://www.artelys.com/tools/knitro_doc/
# Which algorithm to use.
# auto = 0 = let Knitro choose the algorithm
# direct = 1 = use Interior (barrier) Direct algorithm
# cg = 2 = use Interior (barrier) CG algorithm
# active = 3 = use Active Set SLQP algorithm
# sqp = 4 = use Active Set SQP algorithm
# multi = 5 = run multiple algorithms (perhaps in parallel)
algorithm auto
# LP algorithm for subproblems in active-set/SQP algorithms.
# default = 0
# primal = 1
# dual = 2
# barrier = 3
act_lpalg default
# Dump LP subproblems to MPS files in active-set algorithm.
# no = 0
# yes = 1
act_lpdumpmps no
# Feasibility tolerance for LP subproblems in Active or SQP algorithms.
act_lpfeastol 1e-08
# Constraint penalization for LP subproblems.
# auto = 0
# all = 1
# nonlinear = 2
# dynamic = 3
act_lppenalty all
# Controls LP presolve for subproblems in active-set/SQP algorithms.
# off = 0
# on = 1
act_lppresolve off
# Which LP solver to use in the Active or SQP algorithm.
# internal = 1 = use internal LP solver
# cplex = 2 = CPLEX (if user has a valid license)
# xpress = 3 = XPRESS (if user has a valid license)
act_lpsolver internal
# Use parametric approach in active-set algorithm.
# no = 0 = never
# maybe = 1 = use selectively
# yes = 2 = always use parametric approach
act_parametric maybe
# Which algorithm to use for QP subproblem solves in Active or SQP algorithms.
# auto = 0 = let Knitro choose the algorithm
# direct = 1 = use Interior (barrier) Direct algorithm
# cg = 2 = use Interior (barrier) CG algorithm
# active = 3 = use Active Set SLQP algorithm
act_qpalg auto
# Enable specialized algorithm for conic constraints.
# none = 0
# soc = 1
bar_conic_enable none
# When using the Interior/Direct algorithm, this parameter
# controls the maximum number of consecutive CG steps before
# trying to force the algorithm to take a direct step again.
# (negative implies auto; only used for alg=1).
bar_directinterval -1
# Whether feasibility is given special emphasis.
# no = 0 = no emphasis on feasibility
# stay = 1 = iterates must honor inequalities
# get = 2 = emphasize first getting feasible before optimizing
# get_stay = 3 = implement both options 1 and 2 above
bar_feasible no
# Specifies the tolerance for entering the stay feasible mode
# (only valid when bar_feasible = stay or bar_feasible = get_stay).
bar_feasmodetol 0.0001
# Initial value for the barrier parameter (non-positive implies auto).
bar_initmu -1
# Initial value for the barrier MPEC penalty parameter.
bar_initpi_mpec 0
# Strategy for setting initial x, lambda and slacks with barrier algorithms.
# This option only affects the initial x value when not provided by user.
# auto = 0 = let Knitro choose the strategy
# convex = 1 = initial point strategy 1 (mainly for convex problems)
# nearbnd = 2 = initial point strategy staying closer to bounds
# central = 3 = more central initial point strategy
bar_initpt auto
# Maximum number of correctors allowed when computing primal-dual barrier step
# (negative implies auto).
bar_maxcorrectors -1
# Maximum number of crossover iterations to allow for barrier algorithms.
bar_maxcrossit 0
# Maximum number of refactorizations of the KKT system per iteration of the
# Interior Direct algorithm before reverting to a CG step.
# (negative implies auto; only used for alg=1).
bar_maxrefactor -1
# Which barrier parameter update strategy.
# auto = 0 = let Knitro choose the strategy
# monotone = 1
# adaptive = 2
# probing = 3
# dampmpc = 4
# fullmpc = 5
# quality = 6
bar_murule auto
# Whether or not to penalize constraints in the barrier algorithms.
# auto = -1 = let Knitro choose the strategy
# none = 0 = Do not apply penalty approach to any constraints
# all = 2 = Apply a penalty approach to all general constraints
# equalities = 3 = Apply a penalty approach to equality constraints only
bar_penaltycons auto
# Which penalty parameter update strategy for barrier algorithms.
# auto = 0 = let Knitro choose the strategy
# single = 1 = use single penalty parameter approach
# flex = 2 = use more tolerant flexible strategy
bar_penaltyrule auto
# Whether to try to refine the barrier solution for better precision.
# no = 0 = do not refine the barrier solution
# yes = 1 = try to refine the barrier solution
bar_refinement no
# Whether to relax the general constraints for barrier algorithms.
# none = 0 = do not relax any constraints
# eqs = 1 = relax only equality constraints
# ineqs = 2 = relax only inequality constraints
# all = 3 = relax all general constraints
bar_relaxcons ineqs
# Amount by which barrier slacks are initially pushed interior
# (non-positive implies auto).
bar_slackboundpush -1
# Objective form when switching to feasibility phase.
# none = 0 = no objective
# scalarprox = 1 = proximal point objective with scalar weighting
# diagprox = 2 = proximal point objective with diagonal weighting
bar_switchobj scalarprox
# Switching rule strategy for barrier algorithms that controls
# switching between optimality and feasibility phases.
# auto = -1 = let Knitro choose the strategy
# never = 0 = never switch
# moderate = 2 = allow moderate switching
# aggressive = 3 = more aggressive switching
bar_switchrule auto
# Whether to activate watchdog heuristic for barrier algorithms.
# no = 0 = no watchdog heuristic
# yes = 1 = allow watchdog heuristic to be used
bar_watchdog no
# Which BLAS/LAPACK library to use. Intel MKL library is only available
# on some platforms; see the User Manual for details.
# knitro = 0 = use Knitro version of netlib functions
# intel = 1 = use Intel MKL functions
# dynamic = 2 = use dynamic library of functions
blasoption intel
# Valid range for constraint or variable bounds.
bndrange 1e+20
# Maximum allowable CG iterations per trial step
# (if 0 then Knitro determines the best value).
cg_maxit 0
# Amount of memory used by incomplete Choleski preconditioner.
cg_pmem 10
# Whether or not to use incomplete Choleski preconditioner.
cg_precond 0
# Stopping tolerance for CG subproblems.
cg_stoptol 0.01
# Declare the problem as convex.
# auto = -1
# no = 0
# yes = 1
convex auto
# target CPU platform/architecture.
# auto = -1 = determine automatically
# compatible = 1 = aim for more compatible performance across architectures
# sse2 = 2 = SSE2
# avx = 3 = AVX
# avx2 = 4 = AVX-2
# avx512 = 5 = AVX-512 (experimental)
cpuplatform auto
# Whether to perform extra data checks on the model.
# no = 0 = no extra data checks
# yes = 1 = perform extra data checks
datacheck yes
# Specifies debugging level of output. Debugging output is intended for Artelys
# developers. Debugging mode may impact performance and is NOT recommended
# for production operation.
# none = 0 = no extra debugging
# problem = 1 = help debug solution of the problem
# execution = 2 = help debug execution of the solver
debug none
# Initial trust region radius scaling factor, used to determine
# the initial trust region size.
delta 1
# Whether to perform a derivative check on the model.
# none = 0 = no derivative check
# first = 1 = check first derivatives
# second = 2 = check second derivatives
# all = 3 = check all derivatives
derivcheck none
# Termination for derivative check.
# error = 1 = stop when there is an error detected
# always = 2 = always stop after the derivative check
derivcheck_terminate error
# Specifies the relative tolerance used for the derivative check.
derivcheck_tol 1e-06
# Type of derivative check.
# forward = 1 = check using forward finite-differences
# central = 2 = check using central finite-differences
derivcheck_type forward
# Enable evaluating gradients with functions in one callback.
# no = 0
# yes = 1
eval_fcga no
# Specifies the final relative stopping tolerance for the feasibility
# error. Smaller values of feastol result in a higher degree of accuracy
# in the solution with respect to feasibility.
feastol 1e-06
# Specifies the final absolute stopping tolerance for the feasibility error.
# Smaller values of feastol_abs result in a higher degree of accuracy in the
# solution with respect to feasibility.
feastol_abs 0.001
# Termination method when using finite-difference gradients.
# none = 0 = no special termination
# errest = 1 = terminate on gradient error estimates
findiff_terminate errest
# Value used for objective function value based termination.
fstopval 1.79769e+308
# Tolerance for stopping on small changes to the objective.
ftol 1e-15
# Consecutive iterations for stopping on small changes to the objective.
ftol_iters 5
# How to compute/approximate the gradient of the objective
# and constraint functions.
# exact = 1 = user supplies exact first derivatives
# forward = 2 = gradients computed by internal forward finite differences
# central = 3 = gradients computed by internal central finite differences
# user_forward = 4 = gradients computed by user-provided forward finite differences
# user_central = 5 = gradients computed by user-provided central finite differences
gradopt exact
# Whether to allow computing the Hessian of the Lagrangian without objective component.
# forbid = 0 = not allowed
# allow = 1 = user can provide this version of the Hessian if requested
hessian_no_f forbid
# How to compute/approximate the Hessian of the Lagrangian.
# auto = 0 = determined automatically by Knitro
# exact = 1 = user supplies exact second derivatives
# bfgs = 2 = Knitro computes a dense quasi-Newton BFGS Hessian
# sr1 = 3 = Knitro computes a dense quasi-Newton SR1 Hessian
# product_findiff = 4 = Knitro computes Hessian-vector products by finite differences
# product = 5 = user supplies exact Hessian-vector products
# lbfgs = 6 = Knitro computes a limited-memory quasi-Newton BFGS Hessian
hessopt auto
# Whether to enforce satisfaction of simple bounds at all iterations.
# auto = -1 = setting determined automatically by Knitro
# no = 0 = allow iterations to violate the bounds
# always = 1 = enforce bounds satisfaction of all iterates
# initpt = 2 = enforce bounds satisfaction of initial point
honorbnds auto
# Specifies relative stopping tolerance used to declare infeasibility.
infeastol 1e-08
# Initial value for the merit function penalty parameter.
initpenalty 10
# Which linesearch method to use.
# auto = 0 = let Knitro choose the linesearch method
# backtrack = 1 = backtracking linesearch
# interpolate = 2 = interpolation based linesearch
linesearch auto
# Maximum allowable number of trial values during the linesearch of the
# Interior Direct or SQP algorithm.
linesearch_maxtrials 3
# Which linear system solver to use.
# auto = 0 = let Knitro choose the solver
# internal = 1 = use internal solver provided with Knitro
# (not currently active; reserved for future use)
# hybrid = 2 = use a mixture of linear solvers depending on the linear systems
# qr = 3 = use dense QR solver always (only for small problems)
# ma27 = 4 = use sparse HSL solver ma27 always
# ma57 = 5 = use sparse HSL solver ma57 always
# mklpardiso = 6 = use sparse Intel MKL Pardiso solver always
# ma97 = 7 = use parallel, deterministic HSL ma97 solver
# ma86 = 8 = use parallel, non-deterministic HSL ma86 solver
linsolver auto
# Whether to use out-of-core version of linsolver=mklpardiso.
# no = 0 = always use in-core version
# maybe = 1 = will use out-of-core version beyond a certain size
# yes = 2 = always use out-of-core version
linsolver_ooc no
# Specifies the initial pivot threshold used in the factorization routine.
# The value must be in the range [0 0.5] with higher values resulting
# in more pivoting (more stable factorization). Values less than 0 will
# be set to 0 and values larger than 0.5 will be set to 0.5. If pivot
# is non-positive initially no pivoting will be performed. Smaller values
# may improve the speed of the code but higher values are recommended for
# more stability.
linsolver_pivottol 1e-08
# Number of limited memory pairs to store when Hessian choice is lbfgs.
lmsize 10
# Maximum allowable CPU time in seconds for the complete multi algorithm
# solution when 'alg=multi'. Use maxtime_cpu to additionally limit time
# spent per each algorithm.
ma_maxtime_cpu 1e+08
# Maximum allowable real time in seconds for the complete multi algorithm
# solution when 'alg=multi'. Use maxtime_real to additionally limit time
# spent per each algorithm.
ma_maxtime_real 1e+08
# Specifies multi algorithm subproblem solve output control.
# 0 = no output from subproblem solves
# 1 = Subproblem output enabled, controlled by option 'outlev'.
# Output is directed to a file 'knitro_ma_*.log'
ma_outsub 0
# Specifies conditions for terminating when 'algorithm=multi'.
# all = 0 = terminate after all algorithms complete
# optimal = 1 = terminate at first local optimum
# feasible = 2 = terminate at first feasible solution estimate
# any = 3 = terminate at first completed solve
ma_terminate optimal
# Maximum number of function evaluations to allow
# (a negative number implies no limit is imposed).
maxfevals -1
# Maximum number of iterations to allow
# (if 0 then Knitro determines the best value).
# Default values are 10000 for NLP and 3000 for MIP.
maxit 0
# Maximum allowable CPU time in seconds for one algorithm solve.
# If multistart, multi algorithm or MIP is active, this limits time spent
# on just one subproblem solve.
maxtime_cpu 1e+08
# Maximum allowable real time in seconds for one algorithm solve.
# If multistart, multi algorithm or MIP is active, this limits time spent
# on just one subproblem solve.
maxtime_real 1e+08
# Specifies the MIP branching rule for choosing a variable.
# auto = 0 = let Knitro choose the rule
# most_frac = 1 = most fractional (most infeasible) variable
# pseudocost = 2 = use pseudo-cost value
# strong = 3 = use strong branching
mip_branchrule auto
# Specifies the MIP select direction for choosing a node.
# down = 0 = choose the lesser-than node first
# up = 1 = choose the greater-than node first
mip_cutfactor 1
# Specifies debugging level for MIP solution.
# none = 0 = no MIP debugging info
# all = 1 = write debugging to the file kdbg_mip.log
mip_debug none
# Whether to branch on generalized upper bounds (GUBs).
# no = 0 = do not branch on GUBs
# yes = 1 = branch on GUBs
mip_gub_branch no
# Maximum number of nodes explored (0 means no limit).
mip_heuristic auto
# Specifies which MIP heuristic search approach to apply
# to try to find an initial integer feasible point.
# auto = -1 = let Knitro choose the heuristic
# none = 0 = no heuristic search applied
# feaspump = 2 = apply feasibility pump heuristic
# mpec = 3 = apply MPEC heuristic
mip_heuristic_maxit 100
# Specifies which algorithm to use for standard node subproblem solves in MIP
# auto = 0 = let Knitro choose the algorithm
# direct = 1 = use Interior (barrier) Direct algorithm
# cg = 2 = use Interior (barrier) CG algorithm
# active = 3 = use Active Set SLQP algorithm
# sqp = 4 = use Active Set SQP algorithm
# multi = 5 = run multiple algorithms (perhaps in parallel)
mip_heuristic_terminate feasible
# Whether to add logical implications deduced from
# branching decisions at a MIP node.
# no = 0 = do not add logical implications
# yes = 1 = add logical implications
mip_implications yes
# Threshold for deciding if a variable value is integral.
mip_integer_tol 1e-08
# Specifies absolute stop tolerance for sufficiently small integrality gap.
mip_integral_gap_abs 1e-06
# Specifies relative stop tolerance for sufficiently small integrality gap.
mip_integral_gap_rel 1e-06
# Maximum number of levels on which to perform MIP strong branching.
mip_intvar_strategy none
# Specifies rules for adding MIP knapsack cuts.
# none = 0 = do not add knapsack cuts
# ineqs = 1 = add cuts derived from inequalities
# lifted = 2 = add lifted knapsack cuts
# all = 3 = add inequality and lifted knapsack cuts
mip_knapsack ineqs
# Limit on the number of cuts added to node NLP; if nonnegative,
# a maximum of mip_cutfactor times number of constraints cuts is
# possibly appended.
mip_zerohalf root
# Specifies which algorithm to use for the root node solve in MIP
# auto = 0 = let Knitro choose the algorithm
# direct = 1 = use Interior (barrier) Direct algorithm
# cg = 2 = use Interior (barrier) CG algorithm
# active = 3 = use Active Set SLQP algorithm
# sqp = 4 = use Active Set SQP algorithm
# multi = 5 = run multiple algorithms (perhaps in parallel)
mip_lpalg auto
# Specifies conditions for terminating the MIP algorithm.
# optimal = 0 = terminate at optimum
# feasible = 1 = terminate at first integer feasible point
mip_maxnodes 100000
# Maximum number of subproblem solves allowed (0 means no limit).
mip_maxsolves 200000
# Maximum allowable CPU time in seconds for the complete MIP solution.
# Use maxtime_cpu to additionally limit time spent per subproblem solve.
mip_maxtime_cpu 1e+08
# Maximum allowable real time in seconds for the complete MIP solution.
# Use maxtime_real to additionally limit time spent per subproblem solve.
mip_maxtime_real 1e+08
# Which MIP method to use.
# auto = 0 = let Knitro choose the method
# BB = 1 = standard branch and bound
# HQG = 2 = hybrid Quesada-Grossman
# MISQP = 3 = mixed-integer SQP
mip_method auto
# Whether integer variables are relaxable.
# none = 0 = integer variables not relaxable
# all = 1 = all integer variables are relaxable
mip_nodealg auto
# Specifies printing interval for mip_outlevel.
# 1 = print every node
# 2 = print every 2nd node
# N = print every Nth node
mip_outinterval 10
# How much MIP information to print.
# none = 0 = nothing
# iters = 1 = one line for every node
# iterstime = 2 = also print accumulated time every node
# root = 3 = also print output from root node relaxation solve
mip_outlevel iters
# Specifies MIP subproblem solve output control.
# 0 = no output from subproblem solves
# 1 = Subproblem output enabled, controlled by option 'outlev'
# 2 = Subproblem output enabled and print problem characteristics
mip_outsub 0
# Specifies MIP subproblem solve output control.
# 0 = no output from subproblem solves
# 1 = Subproblem output enabled, controlled by option 'outlev'
# 2 = Subproblem output enabled and print problem characteristics
mip_pseudoinit auto
# How to handle integer variables by default.
# none = 0 = no special treatment
# relax = 1 = relax integer variables
# mpec = 2 = convert to mpec constraints
mip_relaxable all
# Specifies the MIP rounding rule to apply.
# auto = -1 = let Knitro choose the rule
# none = 0 = do not round if a node is infeasible
# heur_only = 2 = round using heuristic only (fast)
# nlp_sometimes = 3 = round and solve NLP if likely to succeed
# nlp_always = 4 = always round and solve NLP
mip_rootalg auto
# Specifies rules for adding MIP ZERO HALF cuts.
# none = 0 = do not add zerohalf cuts
# ineqs = 1 = add cuts derived in the root node
# lifted = 2 = add zerohalf cuts in the tree
# all = 3 = add zero half cuts in the root and he tree
mip_rounding auto
# Specifies conditions for terminating the MIP heuristic.
# feasible = 1 = terminate at first feasible point
# limit = 2 = run heuristic until it hits limit
mip_selectdir down
# Specifies the MIP select rule for choosing a node.
# auto = 0 = let Knitro choose the rule
# depth_first = 1 = search the tree depth first
# best_bound = 2 = node with the best relaxation bound
# combo_1 = 3 = depth first unless pruned, then best bound
mip_selectrule auto
# Maximum number of iterations to allow for MIP strong branching solves.
mip_strong_candlim 10
# Maximum number of candidates to explore for MIP strong branching.
mip_strong_level 10
# How to initialize pseudo-costs.
# auto = 0 = let Knitro choose the method
# ave = 1 = use average value
# strong = 2 = use strong branching
mip_strong_maxit 1000
# Specifies which algorithm to use for LP subproblem solves in MIP.
# auto = 0 = let Knitro choose the algorithm
# direct = 1 = use Interior (barrier) Direct algorithm
# cg = 2 = use Interior (barrier) CG algorithm
# active = 3 = use Active Set (simplex) algorithm
mip_terminate optimal
# Whether to use a deterministic version of multistart.
# no = 0 = multithreaded multistart is non-deterministic
# yes = 1 = multithreaded multistart is deterministic
# (when ms_terminate=maxsolves)
ms_deterministic yes
# Whether to enable multistart to find a better local minimum.
# no = 0 = Knitro solves from a single initial point
# yes = 1 = Knitro solves using multiple start points
ms_enable no
# Specifies the maximum range that an unbounded variable can vary over when
# multistart computes new start points.
ms_maxbndrange 1000
# How many Knitro solutions to compute if multistart is enabled.
# choose any positive integer, or
# 0 = Knitro sets it to min{200,10*n}
ms_maxsolves 0
# Maximum allowable CPU time in seconds for the complete multistart
# solution. Use maxtime_cpu to additionally limit time spent per start point.
ms_maxtime_cpu 1e+08
# Maximum allowable real time in seconds for the complete multistart
# solution. Use maxtime_real to additionally limit time spent per start point.
ms_maxtime_real 1e+08
# How many feasible multistart points to save in file knitro_mspoints.log.
# choose any positive integer, or
# 0 = save none
ms_num_to_save 0
# Specifies parallel multistart subproblem solve output control.
# 0 = no output from subproblem solves
# 1 = Subproblem output enabled, controlled by option 'outlev'.
# Output is directed to a file 'knitro_ms_*.log'
ms_outsub 0
# Specifies the tolerance for deciding two feasible points are the same.
ms_savetol 1e-06
# Specifies the seed for random initialization of the multistart procedure.
# Seed value should an integer >= 0. Negative values will be reset to 0.
ms_seed 0
# Specifies the maximum range that any variable can vary over when
# multistart computes new start points.
ms_startptrange 1e+20
# Specifies conditions for terminating the multistart procedure.
# maxsolves = 0 = terminate after maxsolves
# optimal = 1 = terminate at first local optimum
# feasible = 2 = terminate at first feasible solution estimate
# any = 3 = terminate at first completed solve
ms_terminate maxsolves
# Specifies additional action to take after every iteration.
# Iterations result in a new solution estimate.
# none = 0 = no additional action
# saveone = 1 = save the latest new point to file knitro_newpoint.log
# saveall = 2 = append the latest new point to file knitro_newpoint.log
# user = 3 = allow a user-specified routine to run after iterations
newpoint none
# Valid range of obective values.
objrange 1e+20
# Specifies the final relative stopping tolerance for the KKT (optimality)
# error. Smaller values of opttol result in a higher degree of accuracy in
# the solution with respect to optimality.
opttol 1e-06
# Specifies the final absolute stopping tolerance for the KKT (optimality)
# error. Smaller values of opttol_abs result in a higher degree of accuracy
# in the solution with respect to optimality.
opttol_abs 0.001
# Whether to generate a csv solution file.
# no = 0 = no csv solution file is generated
# yes = 1 = generate a solution file 'knitro_solve.csv'
out_csvinfo no
# Name for the csv file generated by 'out_csvinfo' (default 'knitro_solve.csv').
# This option should be set before calling KTR_init_problem().
#out_csvname .
# Enable output printing of hints for setting parameters.
# no = 0
# yes = 1
out_hints yes
# Specifies whether to append to output files.
# This option should be set before calling KTR_init_problem().
# no = 0 = erase existing files when opening
# yes = 1 = append to existing files
outappend no
# Directory for all output files.
# This option should be set before calling KTR_init_problem().
#outdir .
# Specifies the verbosity of output.
# none = 0 = nothing
# summary = 1 = only final summary information
# iter_10 = 2 = information every 10 iterations is printed
# iter = 3 = information at each iteration is printed
# iter_verbose = 4 = more verbose information at each iteration is printed
# iter_x = 5 = in addition, values of solution vector (x) are printed
# all = 6 = in addition, constraints (c) and multipliers (lambda)
outlev iter_10
# Where to direct the output.
# screen = 0 = directed to stdout
# file = 1 = directed to a file (default name 'knitro.log')
# both = 2 = both stdout and file (default name 'knitro.log')
outmode screen
# Name for the standard log file generated by Knitro (default 'knitro.log').
# This option should be set before calling KTR_init_problem().
#outname .
# Whether to allow simultaneous evaluations in parallel.
# no = 0 = only one thread can perform an evaluation at a time
# yes = 1 = allow multi-threaded simultaneous evaluations
par_blasnumthreads 0
# Number of threads to use in parallel features.
# choose any positive integer, or
# 0 = value determined by OMP_NUM_THREADS environment variable
# -1 = run sequential version of Knitro code
par_concurrent_evals yes
# Number of threads to use in parallel BLAS.
# choose any positive integer, or
# 0 = determine automatically based on par_numthreads
par_lsnumthreads 0
# Number of threads to use in parallel linear solver.
# choose any positive integer, or
# 0 = determine automatically based on par_numthreads
par_msnumthreads 0
# Number of threads to use in parallel linear solver.
# choose any positive integer, or
# 0 = determine automatically based on par_numthreads
par_numthreads 1
# Whether to apply a presolve operation to the model.
# none = 0 = no presolve
# basic = 1 = Knitro performs basic presolve
presolve basic
# Specifies the tolerance used to determine whether or not deduced bounds.
# from the presolve operation are infeasible.
presolve_tol 1e-06
# Maximum number of internal restarts to allow.
restarts 0
# Maximum number of iterations before invoking restart heuristic.
restarts_maxit 0
# Whether to perform scaling of the problem.
# no = 0 = no scaling done
# user_internal = 1 = user, if defined, otherwise internal
# user_none = 2 = user, if defined, otherwise none
# internal = 3 = Knitro performs internal scaling
scale user_internal
# Whether to use the Second Order Correction (SOC) option.
# no = 0 = never do second order corrections
# maybe = 1 = SOC steps attempted on some iterations
# yes = 2 = SOC steps always attempted when constraints are nonlinear
soc maybe
# Enable a warm-start strategy.
# no = 0
# yes = 1
strat_warm_start no
# Whether to use the Knitro Tuner.
# off = 0 = Knitro Tuner turned off
# on = 1 = Knitro Tuner enabled
tuner off
# Maximum allowable CPU time in seconds for the complete Tuner procedure
# when 'tuner=on'. Use maxtime_cpu to additionally limit time
# spent per each individual solve.
tuner_maxtime_cpu 1e+08
# Maximum allowable real time in seconds for the complete Tuner procedure
# when 'tuner=on'. Use maxtime_real to additionally limit time
# spent per each individual solve.
tuner_maxtime_real 1e+08
# Specifies Tuner subproblem solve output control.
# 0 = no output from subproblem solves and no subproblem summary file
# 1 = Subproblem output summary directed to a file 'knitro_tuner_summary.log'
# 2 = Subproblem output enabled, controlled by option 'outlev'.
# Output is directed to a file 'knitro_tuner_*.log'
tuner_outsub 0
# Specifies conditions for terminating Tuner procedure.
# all = 0 = terminate after all Tuner runs complete
# optimal = 1 = terminate at first local optimum
# feasible = 2 = terminate at first feasible solution estimate
# any = 3 = terminate at first completed solve
tuner_terminate all
# Step size tolerance used for terminating the optimization.
xtol 1e-12
# Consecutive iterations for stopping on small changes in the solution estimate.
xtol_iters 0