Commit Graph

58 Commits

Author SHA1 Message Date
Laurent Perron
62e9b08fbe added new constraint on forbidden list of intervals 2015-09-25 13:04: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
04095cc28e virtual to override change of the Constraint Solver code. 2015-04-16 15:49:51 +02:00
lperron@google.com
7166a9401d multiple speedups in the routing library; code cleaning 2014-11-07 14:30:53 +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
617af77115 minor rewrite; implement saving first solution heuristics for routing 2014-06-11 22:16:31 +00:00
lperron@google.com
c576b93e3e inhibit betweenct when no longer needed 2014-05-25 16:33:40 +00:00
lperron@google.com
a3bef694ab simplify MakeIsMemberCt if first argument is a product 2014-05-25 02:13:22 +00:00
lperron@google.com
08269e4ab0 simplify and filter MakeMember(x * constant, values) 2014-05-25 01:28:47 +00:00
lperron@google.com
9f147085a9 simplify MakeBetween and MakeIsBetween when first argument is a product 2014-05-25 01:14:59 +00:00
lperron@google.com
25f1938d64 cleanup, indent 2014-05-24 21:02:52 +00:00
lperron@google.com
169dbd8aa3 improve MakeMember 2014-05-24 01:57:45 +00:00
lperron@google.com
e8fb639bff new api to iterate on domain/holes; change routing API to add a delta parameter to OnSynchronize 2014-05-21 13:01:04 +00:00
lperron@google.com
f7cfa30c35 minor improvement of the code 2014-05-15 09:19:50 +00:00
lperron@google.com
48f1283e4a simplify MakeLess/MakeLessOrEqual/MakeGreater/MakeGreaterOrEqual upon creation if decided 2014-05-15 05:38:09 +00:00
lperron@google.com
f30c65f359 missing propagation 2014-05-13 13:20:13 +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
9469a423ad IntVar->IntExpr in MakeBetween/IsBetween/Member/IsMember first argument 2014-05-12 19:28:11 +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
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
d493e97540 set times backward in scheduling; speedup in local search 2014-01-17 18:36:18 +00:00
lperron@google.com
dad2a88f14 further optimizations on expr <=/>= constant 2014-01-16 23:42:44 +00:00
lperron@google.com
384413c902 small performance improvement 2014-01-16 17:27:42 +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
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
5350b7d301 small improvements 2013-07-29 02:49:12 +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
37096cf41e remove over optimized code on ismemberct; too bad it was killing on problem 2013-07-23 18:50:52 +00:00
lperron@google.com
6672f47db6 revamp how IsMemberCt are built, do a little preprocessing 2013-07-23 18:23:51 +00:00
lperron@google.com
e7d71ffcd3 correct ismember code 2013-07-23 16:09:40 +00:00
lperron@google.com
baf4e86646 improved IsMember 2013-07-23 15:33:27 +00:00
lperron@google.com
9db4ff0bbd start working on ismember constraint 2013-07-23 06:30:04 +00:00
lperron@google.com
c9bdfe6d2c start working on ismember constraint 2013-07-23 06:10:17 +00:00
lperron@google.com
07406a130b small speedup on IsMember 2013-07-23 05:15:54 +00:00
lperron@google.com
a57b4b3a24 fix wrong inhibit in IsLessOrEqualCt 2013-07-22 18:24:22 +00:00
lperron@google.com
874aa36ead huge sync with internal version 2013-06-11 14:49:19 +00:00
lperron@google.com
77b651ac6f MakeIsBetweenVar 2013-03-19 18:29:15 +00:00
lperron@google.com
7f36ac6be5 sync with internal code, most notable change is the modification to the RoutingModel::AddDimension API that takes an additional boolean parameter 2013-01-10 17:01:34 +00:00
lperron@google.com
5e1ff9e1d0 minor model simplifications 2012-09-03 21:40:45 +00:00
lperron@google.com
062e8cba72 one more presolve rule, helps on debruijn_mike_winter2 2012-09-03 19:39:43 +00:00
lperron@google.com
04d93dd1c8 more simplifications 2012-07-06 14:05:06 +00:00
lperron@google.com
af4e2e2b48 misc 2012-07-06 07:24:41 +00:00
lperron@google.com
40dbb60d23 chage all ==, >=... API to use IntExpr, except the last term of IsXXX which is always an IntVar 2012-07-05 16:27:57 +00:00
lperron@google.com
e0170fc18d more simplifications 2012-07-05 14:22:07 +00:00
lperron@google.com
8c6ce1e5e8 add BoundWatcher on IntVar; change automatic naming of cast variables 2012-07-04 13:29:41 +00:00
lperron@google.com
8e2352e545 better IsEqual on var of size 2 2012-06-29 14:34:23 +00:00
lperron@google.com
913f221042 simplify x - y <op> 0 to x <op> y 2012-06-29 09:41:24 +00:00
lperron@google.com
3313aca838 speed up IsDifferentVar 2012-06-29 05:23:58 +00:00
lperron@google.com
f66fd52c7a one more simplification 2012-06-16 16:26:06 +00:00