- Main Page
- Classes
- Files

- File List
- File Members

# examples/ScalableProblems/LuksanVlcek3.hpp

Go to the documentation of this file.

    00001 // Copyright (C) 2005, 2006 International Business Machines and others.
    00002 // All Rights Reserved.
    00003 // This code is published under the Eclipse Public License.
    00004 //
    00005 // $Id: LuksanVlcek3.hpp 1861 2010-12-21 21:34:47Z andreasw $
    00006 //
    00007 // Authors:  Andreas Waechter              IBM    2005-10-127
    00008
    00009 #ifndef __LUKSANVLCEK3_HPP__
    00010 #define __LUKSANVLCEK3_HPP__
    00011
    00012 #include "RegisteredTNLP.hpp"
    00013
    00014 using namespace Ipopt;
    00015
    00019 class LuksanVlcek3 : public RegisteredTNLP
    00020 {
    00021 public:
    00026   LuksanVlcek3(Number g_l, Number g_u);
    00027
    00029   virtual ~LuksanVlcek3()
    00030   {}
    00031   ;
    00032
    00034   virtual bool InitializeProblem(Index N);
    00035
    00039   virtual bool get_nlp_info(Index& n, Index& m, Index& nnz_jac_g,
    00040                             Index& nnz_h_lag, IndexStyleEnum& index_style);
    00041
    00043   virtual bool get_bounds_info(Index n, Number* x_l, Number* x_u,
    00044                                Index m, Number* g_l, Number* g_u);
    00045
    00047   virtual bool get_starting_point(Index n, bool init_x, Number* x,
    00048                                   bool init_z, Number* z_L, Number* z_U,
    00049                                   Index m, bool init_lambda,
    00050                                   Number* lambda);
    00051
    00053   virtual bool eval_f(Index n, const Number* x, bool new_x, Number& obj_value);
    00054
    00056   virtual bool eval_grad_f(Index n, const Number* x, bool new_x, Number* grad_f);
    00057
    00059   virtual bool eval_g(Index n, const Number* x, bool new_x, Index m, Number* g);
    00060
    00065   virtual bool eval_jac_g(Index n, const Number* x, bool new_x,
    00066                           Index m, Index nele_jac, Index* iRow, Index *jCol,
    00067                           Number* values);
    00068
    00073   virtual bool eval_h(Index n, const Number* x, bool new_x,
    00074                       Number obj_factor, Index m, const Number* lambda,
    00075                       bool new_lambda, Index nele_hess, Index* iRow,
    00076                       Index* jCol, Number* values);
    00077
    00079
    00083   virtual void finalize_solution(SolverReturn status,
    00084                                  Index n, const Number* x, const Number* z_L, const Number* z_U,
    00085                                  Index m, const Number* g, const Number* lambda,
    00086                                  Number obj_value,
    00087                  const IpoptData* ip_data,
    00088                  IpoptCalculatedQuantities* ip_cq);
    00090
    00091 private:
    00103   LuksanVlcek3();
    00104   LuksanVlcek3(const LuksanVlcek3&);
    00105   LuksanVlcek3& operator=(const LuksanVlcek3&);
    00107
    00109   Index N_;
    00110
    00112   Number g_l_;
    00114   Number g_u_;
    00115 };
    00116
    00117 #endif

All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines