Skip to content

Commit c271fa8

Browse files
committedJun 23, 2023
2 parents 3b16a66 + 97f6d94 commit c271fa8

File tree

3 files changed

+18
-315
lines changed

3 files changed

+18
-315
lines changed
 

‎packages/defaults/knitro

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export PACKOBJS=""
1818

1919
# Define package and system libraries using -llibrary to include library.a
2020
# or library.so together with any nonstandard library paths using -L(path)
21-
export PACKLIBS="-L$KNITRODIR/lib -lknitro700 -lstdc++ -ldl"
21+
export PACKLIBS="-L${KNITRODIR}/lib -lknitro -lstdc++ -ldl"
2222

2323
# Define the name of the package specification file if any. This possibly
2424
# precision-dependent file must either lie in the current directory or in

‎src/knitro/README.knitro

+17-159
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
********************************
2-
* *
3-
* Using KNITRO 7.0 with CUTEst *
4-
* *
5-
********************************
1+
****************************
2+
* *
3+
* Using KNITRO with CUTEst *
4+
* *
5+
****************************
66

7-
( Last modified on 19 Jan 2013 at 12:50:00 )
7+
( Last modified on 10 May 2023 at 23:25:00 )
88

9-
WHAT IS KNITRO 7.0?
9+
WHAT IS KNITRO?
1010
-------------------
1111

12-
KNITRO 7.0 is a code for solving large-scale nonlinear programming
12+
KNITRO is a code for solving large-scale nonlinear programming
1313
problems of the form
1414

1515
Min f(x)
@@ -27,47 +27,47 @@ HOW DO I GET KNITRO?
2727

2828
See
2929

30-
http://www.ziena.com/knitro.htm
30+
https://www.artelys.com/solvers/knitro/
3131

3232

33-
USING KNITRO 7.0 WITH CUTEst
33+
USING KNITRO WITH CUTEst
3434
----------------------------
3535

3636
Create an environment variable KNITRODIR pointing to the directory
37-
where your KNITRO 7.0 package is stored. You should have the
37+
where your KNITRO package is stored. You should have the
3838
subdirectories and files
3939

4040
$KNITRODIR/include/knitro.h
41-
$KNITRODIR/lib/libknitro700.a
41+
$KNITRODIR/lib/libknitro.so
4242

4343
Copy $KNITRODIR/include/knitro.h to the $CUTEST/include directory;
4444
the latest version we know about will already be in $CUTEST/include.
4545

4646
The file knitro.opt should be present in the directory from which you
4747
launch CUTEst. Alternatively, there can be a symbolic link pointing to it.
4848

49-
KNITRO 7.0 is not available in single precision.
49+
KNITRO is not available in single precision.
5050

51-
USING THE KNITRO 7.0 INTERFACE TOOL
51+
USING THE KNITRO INTERFACE TOOL
5252
-----------------------------------
5353

5454
Suppose you wish to solve the problem written in SIF format contained
5555
in the file probname.SIF.
5656

57-
The KNITRO 7.0 interface tools require two input files:
57+
The KNITRO interface tools require two input files:
5858

5959
probname.SIF specifies the problem in SIF format
6060
knitro.opt sets values for Knitro parameters
6161

6262
The opt file should be present in the current directory, in
6363
$CUTEST/src/knitro or there should be a symbolic link pointing to it.
6464
The file is self-documented so the purpose of each parameter should be clear
65-
from the file. Please refer to the KNITRO 7.0 documentation for more details.
65+
from the file. Please refer to the KNITRO documentation for more details.
6666

6767
To run with CUTEst, use the runcutest command with the -p knitro option.
6868
See the man page for runcutest for more details of other options.
6969

70-
THE KNITRO 7.0 SPECIFICATIONS FILE
70+
THE KNITRO SPECIFICATIONS FILE
7171
----------------------------------
7272

7373
The file knitro.opt may be used to set various Knitro parameters.
@@ -109,145 +109,3 @@ REFERENCES
109109
Evanston, Illinois, USA, 1999
110110
Note: this paper describes a number of enhancements that
111111
are implemented in the current version of the code
112-
113-
114-
DESCRIPTION OF THE VARIABLES IN KNITRO 7.0
115-
------------------------------------------
116-
117-
118-
n is an INTEGER variable denoting the number of variables.
119-
120-
m is an INTEGER variable denoting the number of general
121-
constraints.
122-
123-
f is a DOUBLE PRECISION variable which holds the value of the
124-
objective function.
125-
126-
x is a DOUBLE PRECISION array of length n. It is the solution
127-
vector.
128-
129-
bl is a DOUBLE PRECISION array of length n. bl(i) is the lower
130-
bound of the i-th variable x(i). If there is no such bound,
131-
set it to be the large negative number -1.0d+20.
132-
133-
bu is a DOUBLE PRECISION array of length n. bu(i) is the upper
134-
bound of the i-th variable x(i). If there is no such bound,
135-
set it to be the large positive number 1.0d+20.
136-
137-
c is a DOUBLE PRECISION array of length m. It contains the
138-
general equality and inequality constraint values (it
139-
excludes fixed variables and bound constraints).
140-
141-
cl is a DOUBLE PRECISION array of length m. cl(i) is
142-
the lower bound of the i-th constraint c(i). If there
143-
is no such bound, set it to be the large negative
144-
number -1.0d+20.
145-
146-
cu is a DOUBLE PRECISION array of length m. cu(i) is
147-
the upper bound of the i-th constraint c(i). If there
148-
is no such bound, set it to be the large positive
149-
number 1.0d+20.
150-
151-
equatn is a LOGICAL variable of length m, with equatn(i)
152-
indicating whether the i-th constraint is an equality
153-
constraint or not.
154-
155-
linear is a LOGICAL variable of length m, with linear(i)
156-
indicating whether the i-th constraint is a linear
157-
constraint or not.
158-
159-
nnzj is an INTEGER. It is the number of nonzeros in the Jacobian
160-
matrix cjac which contains the gradient of the objective
161-
function f and the constraint gradients in sparse form.
162-
163-
cjac is a DOUBLE PRECISION array of length nnzj. The first part
164-
contains the nonzero elements of the gradient of the objective
165-
function; the second part contains the nonzero elements of the
166-
Jacobian of the constraints.
167-
168-
indvar is an INTEGER array of length nnzj. It is the index of the
169-
variables.
170-
171-
indfun is an INTEGER array of length nnzj. It is the indicator
172-
for the functions. If indfun(i)=0, it refers to the objective
173-
function. If indfun(i)=j, it refers to the j-th constraint.
174-
175-
indfun(i) and indvar(i) determine the row number
176-
and the column number respectively of nonzero Jacobian
177-
element cjac(i).
178-
179-
lambda is a DOUBLE PRECISION array of length m+n containing the
180-
Lagrange multiplier estimates. The first m components hold
181-
the multipliers for the general constraints and the last
182-
n components hold the multipliers for the bounds.
183-
The Lagrangian function (excluding bounds) is
184-
185-
L(x, lambda) = f(x) + lambda*c(x).
186-
187-
nnz_W is an INTEGER variable denoting the number of nonzero
188-
elements in the upper triangle of the Hessian of the
189-
Lagrangian function.
190-
191-
W is a DOUBLE PRECISION array of dimension nnz_W containing the
192-
Hessian of the Lagrangian in sparse form:
193-
194-
W = nabla^2_{xx} f(x) + lambda*nabla^2_{xx} c(x)
195-
196-
Only the upper triangle is stored.
197-
198-
W_row is an INTEGER array of length nnz_W. W_row(i) stores
199-
the row number of the nonzero element W(i).
200-
201-
W_col is an INTEGER array of length nnz_W. W_col(i) stores the
202-
column number of the nonzero element W(i).
203-
204-
vector is a DOUBLE PRECISION array of dimension n which is only
205-
used if the user is providing a subroutine for computing
206-
exact Hessian-vector products (option ispecs(4)=5). In
207-
this case, on return from subroutine knitros vector holds
208-
the vector which will be multiplied by the Hessian and on
209-
re-entry vector must hold the desired Hessian-vector product.
210-
211-
ispecs is an INTEGER array of length 10 which holds the integer
212-
user options.
213-
See the User's Manual for more detail.
214-
215-
dspecs is a DOUBLE PRECISION array of length 10 which holds the
216-
double precision user options.
217-
See the User's Manual for more detail.
218-
219-
lspecs is a LOGICAL array of length 10 which holds the
220-
logical user options.
221-
See the User's Manual for more detail.
222-
223-
info is an INTEGER variable which indicates the exit status.
224-
info = 0: termination without error
225-
< 0: termination with an error
226-
227-
liwork is an INTEGER variable which gives the length of the
228-
integer work array, iwork.
229-
230-
iwork is an INTEGER array of length liwork which is used
231-
as an integer work vector.
232-
233-
lwork is an INTEGER variable which gives the length of the
234-
real work array, work.
235-
236-
work is an DOUBLE PRECISION array of length lwork which is used
237-
as a real work vector.
238-
239-
minwork is an INTEGER variable which gives some information
240-
about the minimum work array sizes needed when these
241-
arrays are too small.
242-
243-
info = -48: minwork gives minimum value for liwork
244-
info = -49: minwork gives minimum value for lwork
245-
246-
status is an INTEGER which keeps track of the reverse
247-
communication status. On initial entry status must
248-
be set to 0.
249-
250-
--------------------------------------------------------------
251-
END OF THE DESCRIPTION OF THE VARIABLES IN KNITRO
252-
--------------------------------------------------------------
253-

‎src/knitro/knitro_main.c

-155
This file was deleted.

0 commit comments

Comments
 (0)