線形計画法を解くためのライブラリを書きたいです。そのため、cplex や gurobi などの複数のソルバーが使用されます。私がすでに持っているのは、それらのそれぞれのインターフェースです(すべて、それらをソルバー固有のコードにラップする同じ関数が含まれています)。
ここで、cplex ソルバーを呼び出す LinearProgram("cplex") などによってインスタンス化できるクラス 'LinearProgram' が必要です。
私の最初のアイデアは、それぞれの関数を仮想宣言として含むすべてのソルバー インターフェイスの基本クラスであるスーパー クラス 'ソルバー' を使用することでした。しかし、インスタンス化できない抽象クラスを取得します。したがって、LinearProgram では、コンストラクターで指定された文字列に応じてインスタンス化される変数 Solver が必要でした。
適切な解決策は明らかだと思いますが、現時点で考えられるのは満足のいくものではありません。
ご協力いただきありがとうございます。