00001
00002
00003
00004
00005 #ifndef MEHALGORITHM_H
00006 #define MEHALGORITHM_H
00007
00008 #include "Solver.h"
00009 #include "OoqpMonitor.h"
00010
00011 class Data;
00012 class Variables;
00013 class ProblemFormulation;
00014
00019 class MehrotraSolver : public Solver
00020 {
00021 protected:
00022 ProblemFormulation * factory;
00023
00024
00027 int printlevel;
00028
00033 double tsig;
00034
00036 Variables * step;
00037
00038 public:
00039 MehrotraSolver( ProblemFormulation * opt, Data * prob );
00040
00041 ~MehrotraSolver();
00042
00043 virtual int solve( Data *prob, Variables *iterate, Residuals * resids );
00044
00045
00046 virtual void defaultMonitor( Data * data, Variables * vars,
00047 Residuals * resids,
00048 double alpha, double sigma,
00049 int i, double mu,
00050 int status_code,
00051 int level );
00052 };
00053
00054 #endif
00055
00056
00057
00058