Refactor optimization result and objective classes + add preliminary support for...
authorOuyancheng <1024842937@qq.com>
Fri, 30 Apr 2021 21:40:49 +0000 (14:40 -0700)
committerGitHub <noreply@github.com>
Fri, 30 Apr 2021 21:40:49 +0000 (14:40 -0700)
commit67a1510b8e6306993d7efb7671b8f0aa53a45deb
tree39745800f0d4ecdbb286516be26cd971db53cfd9
parent327a24508ed1d02a3fa233e680ffd0b30aa685a9
Refactor optimization result and objective classes + add preliminary support for multiple objectives (#6459)

This PR is one part of multiple.
Preliminary support means currently only supports single objective.
It supports queue-ing up objectives and it always optimizes the first.
Multiple-obj optimization algorithm will be up next.

*  Refactor optimization result and objective classes
*  Add preliminary support for multiple objectives
* The unit tests are now comparing node values instead of node addresses
src/omt/bitvector_optimizer.cpp
src/omt/bitvector_optimizer.h
src/omt/integer_optimizer.cpp
src/omt/integer_optimizer.h
src/omt/omt_optimizer.cpp
src/omt/omt_optimizer.h
src/smt/optimization_solver.cpp
src/smt/optimization_solver.h
test/unit/theory/theory_bv_opt_white.cpp
test/unit/theory/theory_int_opt_white.cpp