Laurent Perron
bb6e091027
Switch parameters to proto3, propagate to all code, offer support in all languages
2016-02-03 15:15:58 +01:00
Laurent Perron
ff606941b0
lots of improvements:
...
- improve bop and sat performance
- improve precision (tolerance) in glop
- cp: improve performance of the element constraint (normal, and increasing)
- cp: remove Action class, replace with functions, add API to replace demons by functions
2015-10-23 13:45:43 +02:00
Laurent Perron
ebd7b92d3f
update most of the API from callbacks to std::function, port python, java and C#
2015-08-13 16:00:54 +02:00
Vincent Furnon
c72e5e727c
CP Solver: small code cleanups.
2015-05-06 13:05:28 +02:00
Vincent Furnon
04095cc28e
virtual to override change of the Constraint Solver code.
2015-04-16 15:49:51 +02:00
lperron@google.com
a8082e47eb
small sync
2014-08-15 16:56:56 +00:00
lperron@google.com
e4b23d884f
implement small sum~
2014-07-18 21:32:02 +00:00
lperron@google.com
8d345e48c3
implemented small max constraint
2014-07-18 00:29:58 +00:00
lperron@google.com
5734fdf486
create small min constraint
2014-07-18 00:14:31 +00:00
lperron@google.com
1a4efa2e54
add empty line after licence part, in glop, implement portable floating point exceptions
2014-07-09 15:18:27 +00:00
lperron@google.com
98cd32d785
updated c++ code
2014-07-09 11:10:20 +00:00
lperron@google.com
ce01e69227
disable gcd check
2014-06-26 13:20:11 +00:00
lperron@google.com
ec712bc80e
use GCD argument to fail early in positive boolean scalprod eq cst
2014-06-26 12:47:09 +00:00
lperron@google.com
bee77f38af
recognize opposite of boolean scal prod
2014-06-26 12:32:22 +00:00
lperron@google.com
617af77115
minor rewrite; implement saving first solution heuristics for routing
2014-06-11 22:16:31 +00:00
lperron@google.com
6eeb140ec6
Do not create large boolean scal prod expr, crr, create the var instead
2014-05-25 16:34:08 +00:00
lperron@google.com
5224afc5cf
speedup bacp
2014-05-25 02:29:50 +00:00
lperron@google.com
95b8a789ef
deep linearize all scal prod apis
2014-05-24 21:03:56 +00:00
lperron@google.com
e10756dedc
Linearize MakeScalProdEquality
2014-05-24 01:58:15 +00:00
lperron@google.com
9d1d8f3d26
upgrade in the base library (strings::Join now supports int and int64 vectors), file operations uses status; improve the code on symmetries; API for assumptions on sat
2014-05-13 12:56:44 +00:00
lperron@google.com
c6e148de2e
fix
2014-05-12 08:55:11 +00:00
lperron@google.com
21bb097f2b
shortcut when parsing scalprod
2014-05-12 06:53:10 +00:00
lperron@google.com
e670f9c46b
new operator in routing (MakeActiveAndRelocate); first pass at replace concise_iterator by c++11 for
2014-04-15 09:38:36 +00:00
lperron@google.com
edce56744b
symmetry breaking in local search, potential huge speedups in case there were many empty routes
2014-04-04 09:17:50 +00:00
lperron@google.com
96df1d4c97
sync with internal version; major work on sat solver (symmetries, speedups); speed up on routing library
2014-03-12 17:30:11 +00:00
lperron@google.com
54b10f910a
reformat code using clang-format
2014-01-08 12:01:58 +00:00
lperron@google.com
05032ce679
remove using directives, in particular string -> std::string everywhere; speedups in the routing library
2013-12-16 10:24:42 +00:00
lperron@google.com
04f52bf0bb
type corrections; improve code for Circuit/SubCircuit; Improve performance of routing moves/filters
2013-12-11 16:02:19 +00:00
lperron@google.com
aaa6627131
scoped_ptr -> unique_ptr; complete rewrite of expressions on top of interval variables; cleanup of cost data structures in the routing library; misc cleaning (keys in hash_maps are now const)
2013-12-05 09:29:08 +00:00
lperron@google.com
a103e53ba8
code cleaning; bug fix in MakeScalProd with zero coefs
2013-10-18 13:50:35 +00:00
lperron@google.com
936dad1e7f
DebugStringVector->JoinDebugStringPtr; fix overflow in disjunctive and path cumul; fix routing model inside the sequence var
2013-10-17 08:58:26 +00:00
lperron@google.com
5700126591
added setup dependent transition times on the disjunctive class; renamed files with - in their names to _; plenty of changes in the base library and modifications in the rest of the code accomodate them; dropped support for vs 2010 by using the brand new c++11 iterators (for (int i : vector_of_ints) {}). This is so neat; removed SetCommandLines on the routing model. I added a temporary API with parameters. This API is not final and will change to its final version soon
2013-10-10 15:23:20 +00:00
lperron@google.com
452eea95cc
30% speedup on oc-roster, propagate constant in x * constant across abs and int_lin_le; Simplify int_lin_le by gcd; replace x + (-y) by x - y; do not create the IntAbsConstraint() always when the argument is a small var
2013-09-19 06:59:49 +00:00
lperron@google.com
ae2b3d6870
simplify scal_prod if all abs(coeeficients) are equals; gains 15% on oc-roster.mzn
2013-09-18 17:07:01 +00:00
lperron@google.com
85b4c80b50
more caching in MakeScalProd, adds small filters to MinConstraint::LeafChanged and MaxConstraint::LeafChanged to avoid calling PushUp
2013-08-01 23:49:28 +00:00
lperron@google.com
fd013b575b
more caching in MakeScalProd, adds small filters to MinConstraint::LeafChanged and MaxConstraint::LeafChanged to avoid calling PushUp
2013-08-01 23:38:44 +00:00
lperron@google.com
7d4868e07f
a bit a cleanup
2013-08-01 22:17:49 +00:00
lperron@google.com
bc302f16c4
sync with internal code; mostly reindent; implemented very naive circuit constraint. It is actually slower than the expanded version in minizinc; hook up the circuit constraint everywhere (io, flatzinc...)
2013-07-24 00:28:11 +00:00
lperron@google.com
524b955eb1
remove debug code
2013-07-22 18:33:01 +00:00
lperron@google.com
66510d7a85
remove log
2013-07-22 18:31:22 +00:00
lperron@google.com
139199fcb3
abort creating cast variables
2013-07-19 03:47:59 +00:00
lperron@google.com
253cad197a
fix
2013-06-18 13:21:15 +00:00
lperron@google.com
0f76f66b81
improve propagation trace; fix bug in x * cst, cst < 0; fix missing propagation on safe interval expressions; speedup local search for slack cost in the routing library; revamp expression linearization in MakeSum and MakeScalProd
2013-06-18 09:43:51 +00:00
lperron@google.com
874aa36ead
huge sync with internal version
2013-06-11 14:49:19 +00:00
lperron@google.com
dc1c72ab07
split Enqueue into EnqueueVar and EnqueueDelayedDemon
2012-09-07 15:27:53 +00:00
lperron@google.com
a744c07a3c
introspect and linearize MakeSum
2012-09-05 15:52:00 +00:00
lperron@google.com
345ace1f86
clean expr_array code
2012-09-04 21:40:12 +00:00
lperron@google.com
9d2a791457
expose helpers when reinforcing constraints, add README in flatzinc examples to recognize Hakan's contribution; clean up some factory code; recognize special case of distribute as all different
2012-09-03 19:14:18 +00:00
lperron@google.com
2e8530d7eb
plenty of bugs found by the minizinc challenge presubmission
2012-08-15 22:22:32 +00:00
lperron@google.com
07db8f9959
adds a lot of missing DebugSring() all around
2012-08-14 18:00:08 +00:00