/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /* */ /* This file is part of the HiGHS linear optimization suite */ /* */ /* Written and engineered 2008-2022 at the University of Edinburgh */ /* */ /* Available as open-source under the MIT License */ /* */ /* Authors: Julian Hall, Ivet Galabova, Leona Gottwald and Michael */ /* Feldmeier */ /* */ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /**@file test/KktChStep.h * @brief */ #ifndef TEST_KKTCH2_H_ #define TEST_KKTCH2_H_ #include #include #include #include #include #include #include #include "lp_data/HConst.h" #include "test/DevKkt.h" #include "util/HighsInt.h" namespace presolve { namespace dev_kkt_check { class KktCheck; class KktChStep { public: KktChStep() {} virtual ~KktChStep() {} std::vector RcolCost; std::vector RcolLower; std::vector RcolUpper; std::vector RrowLower; std::vector RrowUpper; int print = 1; std::stack > > rLowers; std::stack > > rUppers; std::stack > > cLowers; std::stack > > cUppers; std::stack > > costs; // full matrix void setBoundsCostRHS(const std::vector& colUpper_, const std::vector& colLower_, const std::vector& cost, const std::vector& rowLower_, const std::vector& rowUpper_); void addChange(int type, HighsInt row, HighsInt col, double valC, double dualC, double dualR); void addCost(HighsInt col, double value); dev_kkt_check::State initState( const HighsInt numCol_, const HighsInt numRow_, const std::vector& Astart_, const std::vector& Aend_, const std::vector& Aindex_, const std::vector& Avalue_, const std::vector& ARstart_, const std::vector& ARindex_, const std::vector& ARvalue_, const std::vector& flagCol_, const std::vector& flagRow_, const std::vector& colValue_, const std::vector& colDual_, const std::vector& rowValue_, const std::vector& rowDual_, const std::vector& col_status_, const std::vector& row_status_); }; } // namespace dev_kkt_check } // namespace presolve #endif /* TEST_KKTCHSTEP_H_ */