PIPS-NLP
getAmplFunction.h
Go to the documentation of this file.
1 /* PIPS-NLP *
2  * Authors: Nai-Yuan Chiang *
3  * (C) 2015 Argonne National Laboratory */
4 
5 
6 #ifndef GETAMPLFUNC_H
7 #define GETAMPLFUNC_H
8 
9 #include "asl_pfgh.h"
10 
11 enum{
12 Fixed = -1,
13 NoBound = 0,
14 LowBound = 1,
17 };
18 
19 //
20 void
21 doubleLexSort_Init( int first[], int n, int second[], double data[], const int ifEqCon);
22 
23 void
24 doubleLexSort_ValOnly(int nzA, double *dataA, int nzC, double *dataC, double *dataJacFull);
25 
26 void
27 ampl_GetHessianInit(double *varsX, double *Helts,double *Yelts=NULL);
28 
29 int
31 
32 void
33 ampl_get_Hessian_Tri(double *varsX, double *Helts, double *Yelts=NULL,double *Zelts=NULL);
34 
35 void
36 ampl_get_Jac(double *varsX, const int nzA, double *JacAelts, const int nzC, double *JacCelts);
37 
38 void
40  double xlow[], int nx, char ixlow[],
41  double xupp[], char ixupp[],
42  double b[], int /* my */,
43  double clow[], int /* mz */, char iclow[],
44  double cupp[], char icupp[] );
45 
46 void
47 ampl_get_matrices( fint irow[], fint kcol[], double elts[],
48  int /* nx */, int nnzQ,
49  int my , int nnzA,
50  int mz , int nnzC,
51  int irowQ[], int jcolQ[], double dQ[],
52  int irowA[], int jcolA[], double dA[],
53  int irowC[], int jcolC[], double dC[],
54  double *dwrkX,
55  const int full_size );
56 
57 double
58 ampl_get_Obj(double *varsX);
59 
60 void
61 ampl_get_ObjGrad( double *varsX, double Objgrad[]);
62 
63 void
64 ampl_get_Cons(double *varsX, double *consEqElt, double *consIneqElt);
65 
66 void
67 ampl_count_sizes_SplitSlack( fint irow[], fint kcol[],
68  int & nx, int & nnzQ,
69  int & my, int & nnzA, int & mz, int & nnzC,
70  const int full_size,
71  int &nnzCL, int & nnzCU,
72  int & nxL, int & nxU, int & nsL, int & nsU);
73 
74 
75 void
76 ampl_get_InitX0(double *varsX);
77 
78 void ampl_write_solution(double *varsX, double *Yelts, double *Zelts);
79 
80 void
82 
83 #endif
double precision function second()
Definition: randUtils.f:491
Definition: getAmplFunction.h:14
void ampl_get_matrices(fint irow[], fint kcol[], double elts[], int, int nnzQ, int my, int nnzA, int mz, int nnzC, int irowQ[], int jcolQ[], double dQ[], int irowA[], int jcolA[], double dA[], int irowC[], int jcolC[], double dC[], double *dwrkX, const int full_size)
Definition: getAmplFunction.C:531
Definition: getAmplFunction.h:12
void ampl_get_InitX0(double *varsX)
Definition: getAmplFunction.C:302
void ampl_free_mapinfo()
Definition: getAmplFunction.C:658
void doubleLexSort_Init(int first[], int n, int second[], double data[], const int ifEqCon)
Definition: getAmplFunction.C:35
void ampl_get_Hessian_Tri(double *varsX, double *Helts, double *Yelts=NULL, double *Zelts=NULL)
Definition: getAmplFunction.C:462
void ampl_GetHessianInit(double *varsX, double *Helts, double *Yelts=NULL)
Definition: getAmplFunction.C:515
void ampl_get_ObjGrad(double *varsX, double Objgrad[])
Definition: getAmplFunction.C:376
Definition: getAmplFunction.h:13
void ampl_get_bounds(double xlow[], int nx, char ixlow[], double xupp[], char ixupp[], double b[], int, double clow[], int, char iclow[], double cupp[], char icupp[])
Definition: getAmplFunction.C:394
void doubleLexSort_ValOnly(int nzA, double *dataA, int nzC, double *dataC, double *dataJacFull)
Definition: getAmplFunction.C:108
void ampl_get_Cons(double *varsX, double *consEqElt, double *consIneqElt)
Definition: getAmplFunction.C:343
void ampl_count_sizes_SplitSlack(fint irow[], fint kcol[], int &nx, int &nnzQ, int &my, int &nnzA, int &mz, int &nnzC, const int full_size, int &nnzCL, int &nnzCU, int &nxL, int &nxU, int &nsL, int &nsU)
Definition: getAmplFunction.C:122
double ampl_get_Obj(double *varsX)
Definition: getAmplFunction.C:326
int ampl_get_nnz_Hessian_Tri()
Definition: getAmplFunction.C:454
Definition: getAmplFunction.h:16
void ampl_write_solution(double *varsX, double *Yelts, double *Zelts)
Definition: getAmplFunction.C:632
Definition: getAmplFunction.h:15
void ampl_get_Jac(double *varsX, const int nzA, double *JacAelts, const int nzC, double *JacCelts)
Definition: getAmplFunction.C:492