Skip to content

The Reference Architecture is a recommendation for how MOSDEX data flows from its source in enterprise systems to an optimization solver and back again.

License

Notifications You must be signed in to change notification settings

JeremyBloom/MOSDEX-Reference-Architecture

Repository files navigation

MOSDEX-Reference-Architecture

The Reference Architecture is a recommendation for how MOSDEX data flows from its source in enterprise systems to an optimization solver and back again.

Introduction
This project comprises a Java implementation of the MOSDEX Reference Architecture (RefArc). MOSDEX, or Mathematical Optimization Solver Data EXchange, itself refers to the standard for representing data for optimization problems.

The RefArc includes the following components:

  1. parsing MOSDEX JSON and creating the MOSDEX object model. (packages json and objectModel).
  2. managing queries and instance data (package dataframe).
  3. creating a representation of an optimization model and the bridges that transform MOSDEX data into solver-specific modeling objects, invoke the solver, and retrieve the solution data into MOSDEX (packages modeling and span).
  4. demonstrating MOSDEX on actual problem instances (package examples).

The syntax of this version of MOSDEX (2.0) is defined at MOSDEXSchemaV2-0.json, located in this package.

Dependencies
In order to use the code in this project, you will need to link to several other code packages:

  • Jackson Java JSON library (https://github.com/FasterXML/jackson), usually included with Apache Spark.
  • Apache Spark (https://spark.apache.org/), a unified analytics engine for large-scale data processing.
  • IBM CPLEX Optimizer https://www.ibm.com/analytics/cplex-optimizer, an optimization solver.
See the attached pom.xml file for the exact dependencies on these packages.

Both Jackson and Spark are open source projects, while CPLEX is a proprietary product of IBM. You must secure a license for CPLEX in order to use it with MOSDEX; CPLEX is not available through Maven Central.
Note: This MOSDEX RefArc implementation relies only on the published, public APIs of these packages and requires no customization of them.

Other resources for MOSDEX can be found at https://github.com/coin-modeling-dev.

License and Copyright
This software is made available under the terms of the Eclipse Public License - v 2.0. https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
The code of this project has copyright 2022 by Dr. Jeremy A. Bloom ([email protected])

About

The Reference Architecture is a recommendation for how MOSDEX data flows from its source in enterprise systems to an optimization solver and back again.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages