# Nuorium

Evolving Optimization Software

# What is Nuorium?

Nuorium is the general purpose mathematical optimization software that has been developed over nearly 30 years. It provides the modeling language SIMPLE which enables to write mathematical optimization problems naturally and concisely, a variety of optimization algorithms and a specialized editor.

# SIMPLE

The modeling language SIMPLE provides a seamless environment for modeling linear, quadratic, mixed-integer linear, mixed-integer quadratic, general nonlinear programming problems and weighted constraint satisfaction problems(WCSP).

You can describe mathematical programming formulation naturally. Its automatic differentiation enables to apply highly accurate algorithms to complicated nonlinear programming problems by achieving higher order differentials.

Since it is implemented as C++ library, you can use C++-specific features in your optimization model. It is also possible to link user's own C/C++ programs and the model.

``````# SIMPLE example
Variable x;
Variable y;
Objective cost(type=minimize);
cost = 180*x + 160*y;
6*x + y >= 12;
4*x + 6*y >= 24;
0 <= x <= 5;
0 <= y <= 5;
``````

PySIMPLE is Python version of SIMPLE. It provides a Python interface of Nuorium Optimizer, the optimizer library of Nuorium. Implemented as a Python module, you can easily connect between the optimizer and other python packages.

``````# pysimple example
from pysimple import Problem, Variable
problem = Problem()
# Variables
x = Variable(lb=0.0, ub=5.0);
y = Variable(lb=0.0, ub=5.0);
# Objective
problem += 180*x + 160*y
# Constraints
problem += 6*x +   y >= 12
problem += 4*x + 6*y >= 24
# solve
problem.solve()
``````

# Nuorium Optimizer

Nuorium Optimizer is the optimizer library of Nuorium. It is designed to solve large scale, various mathematical optimization problems with modern implementation techniques and mathematical optimization theory.

Here is the list of the problems Nuorium Optimizer can solve:

• Linear Programming
• Mixed-Integer Linear Programming
• Mixed-Integer Quadratic Programming
• Semidefinite Programming
• Convex Quadratic Programming
• Convex Programming
• Nonlinear Semidefinite Programming
• General Nonlinear Programming
• Weighted Constraint Satisfaction Problem