Zimpl is an actively used programming language created in 2004. Zimpl is a little language to translate the mathematical model of a problem into a linear or nonlinear (mixed-) integer mathematical program expressed in .lp or .mps file format which can be read and (hopefully) solved by a LP or MIP solver.

16Years Old ?Users ?Jobs
  • the Zimpl website
  • Zimpl first appeared in 2004
  • file extensions for Zimpl include zimpl, zmpl and zpl
  • Have a question about Zimpl not answered here? Email me and let me know how I can help.

Example code from Linguist:

# $Id: queens3.zpl,v 1.3 2009/09/13 16:15:53 bzfkocht Exp $
# This is a formulation of the n queens problem using binary variables.
# variables. Since the number of queens is maximized, the size of the
# board can be set arbitrarily.
param columns := 8;

set I   := { 1 .. columns };
set IxI := I * I;

set TABU[<i,j> in IxI] := { <m,n> in IxI with 
   (m != i or n != j) and (m == i or n == j or abs(m - i) == abs(n - j)) };

var x[IxI] binary;

maximize queens: sum <i,j> in IxI : x[i,j];

subto c1: forall <i,j> in IxI do
   card(TABU[i,j]) - card(TABU[i,j]) * x[i,j] >= sum <m,n> in TABU[i,j] : x[m,n];

Trending Repos

repo stars description

Last updated January 18th, 2020

Edit Zimpl on GitHub