You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(11) |
Nov
(4) |
Dec
(7) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(2) |
Feb
(8) |
Mar
(13) |
Apr
(1) |
May
(2) |
Jun
(5) |
Jul
(7) |
Aug
(1) |
Sep
(1) |
Oct
(9) |
Nov
(1) |
Dec
(15) |
| 2006 |
Jan
(2) |
Feb
(3) |
Mar
(1) |
Apr
(1) |
May
(10) |
Jun
(1) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(6) |
Dec
|
| 2007 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(14) |
Jul
(3) |
Aug
|
Sep
(7) |
Oct
(13) |
Nov
(4) |
Dec
(7) |
| 2008 |
Jan
(1) |
Feb
(4) |
Mar
(2) |
Apr
(7) |
May
(4) |
Jun
(17) |
Jul
(20) |
Aug
(7) |
Sep
(23) |
Oct
(18) |
Nov
(47) |
Dec
(51) |
| 2009 |
Jan
(35) |
Feb
(20) |
Mar
(32) |
Apr
(38) |
May
(119) |
Jun
(99) |
Jul
(65) |
Aug
(22) |
Sep
(24) |
Oct
(39) |
Nov
(9) |
Dec
(10) |
| 2010 |
Jan
(8) |
Feb
(8) |
Mar
(76) |
Apr
(72) |
May
(80) |
Jun
(83) |
Jul
(28) |
Aug
(57) |
Sep
(25) |
Oct
(3) |
Nov
|
Dec
(1) |
| 2011 |
Jan
(2) |
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2014 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(4) |
| 2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
1
|
2
|
3
|
4
|
5
|
6
|
|
7
|
8
|
9
|
10
|
11
|
12
|
13
(1) |
|
14
|
15
(2) |
16
|
17
|
18
|
19
|
20
|
|
21
|
22
(1) |
23
|
24
|
25
|
26
|
27
|
|
28
|
29
|
30
|
|
|
|
|
|
From: Eric B. <Eri...@ce...> - 2004-11-22 10:38:22
|
je voudrais successivement resoudre un meme probleme en changeant seulement la fonction objectif comment fait on pour restaurer l 'etat initial (domaine des variables, contraintes etc) avant chaque nouvelle recherche et cela sans avoir a reposer le probleme Eric Bensana |
|
From: Hadrien C. <had...@em...> - 2004-11-15 16:39:18
|
Hi,
The limits are updated and checked each time a new node is created. So the
difference between the maximum and the time printed is due to the fact that
time is needed to go up in the search tree.
The current version is not completely implemented but in the next version
(already in the cvs but not yet published), '35[+10] nodes' will mean that a
total of 35 nodes were needed to reach the previous solution and 10 more
nodes were explored to get the next one.
To define your own limits/statitistics, don't use a varselector :) (bad
idea) but instead create a limit object. Documentation will be available
asap but for the moment, you can have look to the following code which give
you an example of your depth statistic and how to use it (in the main on the
nqueen problem).
hope it helps
Hadrien and Guillaume
import choco.search.AbstractGlobalSearchLimit;
import choco.search.AbstractGlobalSearchSolver;
import choco.Problem;
import choco.Solver;
import choco.integer.IntVar;
import java.util.logging.Logger;
public class DepthLimit extends AbstractGlobalSearchLimit {
public DepthLimit(AbstractGlobalSearchSolver theSolver,int theLimit) {
super(theSolver,theLimit);
unit = "deep";
}
public boolean newNode(AbstractGlobalSearchSolver solver) {
nb = Math.max(nb, this.getProblem().getWorldIndex() -
this.getProblem().getSolver().getSearchSolver().baseWorld);
return (nb < nbMax);
}
public boolean endNode(AbstractGlobalSearchSolver solver) {
return true;
}
public void reset(boolean first) {
if (first) {
nbTot = 0;
} else {
nbTot = Math.max(nbTot, nb);
}
nb = 0;
}
public static void main(String[] args) {
Problem pb = new Problem();
int n = 10;
IntVar[] queens = new IntVar[n];
for (int i = 0; i<n; i++) {
queens[i] = pb.makeEnumIntVar("Q" + i,1,n);
}
for (int i=0; i<n; i++) {
for (int j=i+1; j<n; j++) {
int k = j - i;
pb.post(pb.neq(queens[i], queens[j]));
pb.post(pb.neq(queens[i], pb.plus(queens[j], k))); // diagonal
constraints
pb.post(pb.neq(queens[i], pb.minus(queens[j], k))); // diagonal
constraints
}
}
Solver s = pb.getSolver();
s.setFirstSolution(false);
s.generateSearchSolver(pb);
s.getSearchSolver().limits.add(new
DepthLimit(s.getSearchSolver(),Integer.MAX_VALUE));
s.launch();
Logger.getLogger("choco").getHandlers()[0].flush();
}
}
|
|
From: C. <co...@li...> - 2004-11-15 13:49:35
|
Hello, I'm playing with the TimeLimit features and there are few points i'm a bit confuse with: Inserting into my code the instruction "solver.setTimeLimit(1000);", i obtain the following result: -- solve => no solution -- 2364[+0]/1000 millis. -- 35[+0] nodes There is a small decalage between the real used time and the expected one, i suggest it's due to the use of thread and it isn't really a problem ;-) I wonder what mean the "[+0]" strings ? That leads me to the second point, i would like to capture the deepness of the search (i mean the maximum number of variables, which have been instanciated during the search in the Time Limit). I was thinking using the VarSelector to do that, but it's appear to be a bit geek ;-) Anyway, where is located the peace of code called when the TimeLimit is finish ? Thanks you very much for your help, -- Remi COLETTA |
|
From: Zampelli S. <sz...@in...> - 2004-11-13 15:08:56
|
Hi everyone, I would like to know what are the features of java choco. Mainly : - Does choco handle binary domains ? - Does choco handle global constraints (like alldiff, etc) ? - How deep is the real domain implementation ? May it be used for real problems ? Are Iceberg and Sugar also ported to java ? Final question : I was told claire + choco is dead, is that true ? Thank you, sz. |