Releases: ampl/mp
20141208
20141124
-
AMPL Solver Library version 20141121: changelog
-
Add support for the
objno
option to gecode and jacop:option gecode_options 'objno=2'; # use the second objective
-
Implement
alldiff
as a sub-expression in gecode, ilogcp and jacop:var x{1..3} integer >= 1 <= 3; s.t. c: if alldiff{i in 1..3} x[i] then 0 else 1;
The
alldiff
sub-expression is transformed into a logical AND expression such asx[1] != x[2] && x[1] != x[3] && x[2] != x[3]
. -
Implement
!alldiff
in gecode, ilogcp, jacop and localsolver:var x{1..3} integer >= 1 <= 3; s.t. c: !alldiff{i in 1..3} x[i];
The
!alldiff
expression is transformed into a logical OR expression such asx[1] == x[2] || x[1] == x[3] || x[2] == x[3]
. -
Distinguishes derivative evaluation errors from function evaluation errors in AMPLGSL. To avoid issues with error reporting solvers should be compiled with ASL version 20141111.
All binaries are available for download from the AMPL Open-Source Downloads page.
20141006
- Fix handling of logical constraints
All binaries are available for download from the AMPL Open-Source Downloads page.
20141002
- Cbc version 2.8.12
All binaries are available for download from the AMPL Open-Source Downloads page.
20140827
20140630
COIN-OR Solvers
- Bonmin version 1.7.4
- Cbc version 2.8.8
- New: Couenne (Convex Over and Under ENvelopes for Nonlinear Estimation), a COIN-OR solver for Mixed-Integer Nonlinear Programming (MINLP) problems, version 0.4.7
- Ipopt version 3.11.8
All binaries are available for download from the AMPL Open-Source Downloads page.
20140620
- AMPL Solver Library version 20140617: changelog
- Gecode version 4.2.1
- JaCoP version 4.1: announcement
COIN-OR Solvers
- New: Bonmin, an open-source solver for general mixed integer nonlinear programming (MINLP) problems, version 1.7.4
- Cbc version 2.8.8
- Ipopt version 3.11.8
All binaries are available for download from the AMPL Open-Source Downloads page.
20140508
-
Include Ipopt in the distribution.
-
Include
gsl.ampl
, the AMPL file that declares all GSL bindings and loads the amplgsl library, in the distribution. Example of use:include gsl.ampl; var x >= 1e-5; minimize obj: gsl_sf_gamma(x);
Binaries are available on the AMPL Open-Source Downloads page.
20140127
General
- Descriptions of solver options can now be written in a subset of reStructuredText which allows high-quality HTML rendering: example.
- An API for accessing the descriptions of solver options.
- Improved compatibility with older versions of Linux and Mac OS X. In particular, Linux version of amplgsl can be run on systems with glibc version 2.11.1 or later.
- Improve support of Unicode in filenames.
- Added Connecting AMPL to Oracle guide.
IBM/ILOG CP Optimizer (ilogcp)
- Merged the
ilocplex
driver back intoilogcp
. - Added options
multiobj
andobjno
to theilogcp
driver.
Gecode
- Updated Gecode to version 4.2.1: changelog.
CBC
- Updated CBC to version 2.8.8: changelog.
AMPLGSL
- Implemented derivatives for
gsl_cdf_ugaussian_Pinv
.
The downloads are available on Google Code.
20131015
Gecode
-
Multiple solution support: options
countsolution
andsolutionstub
, problem suffixnsol
. -
Add the suffix
icl
to specify integer consistency level for constraints:subj to c1: alldiff ({i in 1..n} q[i]) suffix icl icl_dom;
The suffix and possible values for it are defined in gecode.ampl.
Requires AMPL version 20130906 or later. -
Add support for restart search and the following options to control the search:
restart
: restart sequence typerestart_base
: base for geometric restart sequencerestart_scale
: scale factor for restart sequence
-
New solve results to distinguish between the cases when a solver reaches different limits:
400 time limit 401 node limit 402 fail limit 403 solution limit
IlogCP
-
The
ilogcp
solver is split into two:ilogcp
for the IBM ILOG CP Optimizer andilocplex
for the CPLEX Optimizer. -
Multiple solution support: options
countsolution
andsolutionstub
, problem suffixnsol
. -
The element constraint. Example:
s.t. satisfyMaxLoad{t in Trips}: load[t] <= element({c in TruckConfigs} MaxTruckConfigLoad[c], truckConfigs[t]);
-
The in_relation constraint. Example:
s.t. restrictConfigOfContainer{o in Orders}: in_relation(configOfContainer[o], {c in AllowedContainerConfigs[ProductTypes[o]]} c);
-
Multiobjective optimization.
minimize totalCost: sum{t in Trips} (if load[t] > 0 then element({c in TruckConfigs} TruckCost[c], truckConfigs[t])) + sum{t in 0..NumTrips - 2} reconfigCost[t]; minimize tripCount: count{t in 0..NumTrips - 1} (load[t] > 0);
-
New solve result to distinguish between the cases when a user interrupts the solution process and a solver reaches a limit:
400 limit
-
Add the
solutionlimit
option.
JaCoP
-
Multiple solution support: options
countsolution
andsolutionstub
, problem suffixnsol
. -
New solve result to distinguish between the cases when a user interrupts the solution process and a solver reaches a limit:
400 limit
-
Add the
solutionlimit
option.
AMPLGSL
- Update GSL to version 1.16
See also New features of the AMPL CP interfaces for the presentation of some of the new features and truckfleet.ampl for the truck fleet model used in some of the examples above.