Tuesday, March 9, 2010

Numberjack

link:
http://4c110.ucc.ie/numberjack/

Introduction (from above link):

Numberjack is a modelling package written in Python for constraint programming. Python benefits from a large and active programming community, Numberjack is therefore a perfect tool to embed CP technology into larger applications. It is designed to support a number of underlying C/C++ solvers as egg files, that is, seamlessly and efficiently. Currently, there are four available back-ends: a MIP solver (SCIP), a SAT solver (MiniSat) and two CP solvers (Mistral and Gecode).

* Numberjack offers a high level constraint programming language
* Numberjack directly benefits from python's features and modules
* Numberjack uses efficient underlying C/C++ solvers, without the compilation hassle!

Annotation:
1. MIP: Math Inspecting Program?

The AIMMS math program inspector is a collection of tools to visually inspect and analyze both linear and non-linear math programs. With the math program inspector you will be able to analyze the causes of infeasibilities, unrealistic results and other problems associated with a math program. The math program inspector includes:

* A tree with the symbolic and individual variables that are part of a generated math program
* A tree with the symbolic and individual constraints that are part of a generated math program
* The ability to automatically replace infinite variable bounds by a large constant to find potential causes of unboundedness.
* The ability to find Irreducible Infeasible Systems (IIS) and the ability to automatically introduce slack variables to find potential causes of infeasibility



* The ability to make subselections in either or both trees based on various criteria, such as a manual selection, all infeasible constraints, all unbounded variables, an IIS, variable/constraint status (basic/non-basic,...), all constraints that contain variables out of the current variable selection, all variables used in the current constraint selection, ...
* A graphical view of the (block) structure of the generated matrix subselection (defined by the cross product of the subselection in both individual trees), with coefficient-based coloring for each block to allow easy detection of scaling problems



* A list view of the current matrix subselection, with columns for row/column name, matrix coefficients, level values and marginal levels of variables and constraints, etc.
*

A special MIP Search Tree functionality provides the branching information of the search tree. Currently Cplex 9 (and newer) is the only MIP solver in AIMMS that provides this information.

No comments:

Post a Comment