1: #ifndef __TAO_KT_H
3: #include "tao_solver.h"
5: class TaoKTApplication : public TaoApplication {
6: public:
7: TaoKTApplication(TAO_SOLVER,TAO_SOLVER);
8: TAO_SOLVER orig; // original solver structure
9: TAO_SOLVER csolver; // original solver structure
10: double func; // function value
12: virtual int EvaluateConstraints(TaoVec *xx, TaoVec *RR);
13: virtual int EvaluateJacobian(TaoVec *xx, TaoMat *JJ);
14: virtual int InitializeVariables(TaoVec *x);
16: virtual int GetVariableVector(TaoVec **xx);
17: virtual int EvaluateVariableBounds(TaoVec *xxll, TaoVec *xxuu);
18: virtual int GetJacobianMatrix(TaoMat **JJ);
19: virtual int GetLinearSolver(TaoMat *, TaoInt, TaoLinearSolver **);
20: int SetItUp1();
21: int SetItUp2();
22: };
25: typedef struct {
27: TaoKTApplication* ktapp;
29: TAO_SOLVER csolver; // complementarity solver structure
30: char comp_method[256]; // complementarity solver
32: TaoVec *G;
33: TaoInt setupcalled;
34: } TAO_KT;
36: #endif