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 *, int, 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: int setupcalled; 34: } TAO_KT; 36: #endif