Week 9 - OptSolvX Integration into SBSCL and Bridge Preparation
In the past week, I focused on implementing the OptSolvX integration in SBSCL, adding tests and documentation, and preparing the groundwork for the SBML-to-LP bridge.
Progress:
-
SBSCL – OptSolvX Adapter:
-
Implemented
org.simulator.optsolvx.OptSolvXSolverAdapter(implementsLPSolverAdapter) with checks formodel != nullandmodel.isBuilt(). -
Added debug logging via
MessageFormat, including before/after states and runtime measurement. -
Solver calls are delegated to the existing
CommonsMathSolver.
-
-
New Demo in SBSCL:
-
Added
org.simulator.optsolvx.OptSolvXDemorunning a minimal LP example (max x + y, with constraintsx + 2y ≤ 4andx ≤ 3). -
Expected result:
x = 3.0,y = 0.5, objective3.5, feasibletrue.
-
-
New Tests:
-
Created
OptSolvXSolverAdapterTestcovering:-
Null model handling (
IllegalArgumentException) -
Build requirement check (
IllegalStateException) -
Minimization case with equality and bounds (
x = 0,y = 5, objective5).
-
-
All double literals explicitly marked with
dsuffix for clarity.
-
-
Documentation:
-
Extended SBSCL README with “Using OptSolvX (LP) in SBSCL” section, explaining how to run the demo, enable debug mode, and use the build check.
-
Added “Quick Demo” to the OptSolvX README, including Maven/IDE instructions, expected output, and optional debug activation.
-
-
Bridge Preparation:
-
Created a Mermaid sequence diagram to illustrate the SBML→LP pipeline.
-
Wrote a short explanation on how the bridge could be implemented (OptSolvX is LP-generic and does not directly handle SBML).
-
-
Java Compatibility Discussion:
-
Outlined options for either creating a dual artifact with a
compat8build for SBSCL or upgrading SBSCL to a newer Java version (decision pending).
-
-
PR Preparation:
-
Prepared a short pull request text for SBSCL including adapter, demo, tests, and documentation.
-
Next Steps:
-
Finalize and submit the PR for OptSolvX integration in SBSCL.
-
Start implementation of the SBML-to-LP bridge.
-
Continue Java compatibility discussions and decide on the approach.
-
Extend integration tests once the bridge is in place.
That’s it for this week, see you next week!
Project Details:
-
GitHub Repository: OptSolvX GitHub
-
Weekly Meeting: Every Monday at 11:00 AM (Berlin time)
-
Original Project Idea (NRNB Issue): Google Summer of Code Issue #259
Kommentare
Kommentar veröffentlichen