artofscience / SAOR

Sequential Approximate Optimization Repository
GNU General Public License v3.0
5 stars 1 forks source link

Define abstract (sub)solver interface #14

Closed MaxvdKolk closed 3 years ago

MaxvdKolk commented 3 years ago

Define interface for the (sub)solvers and the required interfaces that an abstract class needs to satisfy.

@artofscience could you add some thoughts / proposed layouts here based on the developments with the pdip solver.

artofscience commented 3 years ago

I would propose:

Abstract class (problem), where problem contains analytical functions g[x], dg[x], ddg[x] and r (constants), alpha and beta (variables bounds of subproblem), as well as current design point x.

This abstract class contains different constructors and at least 1 method that "finds the solution x* to the subproblem".

We can create different children of this class, e.g. primal-dual, dual and primal abstract classes.

From this we can create children, e.g. primal-dual interior point solvers (primal-dual)

From this we can create specific implementations.