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
(1) |
7
(2) |
8
|
9
|
10
|
|
11
|
12
(1) |
13
|
14
|
15
|
16
|
17
|
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
|
25
|
26
|
27
|
28
|
29
|
30
|
|
|
From: Fatma C. <cel...@gm...> - 2007-11-12 16:29:49
|
Hello choco users,
I am trying solve a 'Task Scheduling Problem', which means I need to assign
an appropriate run-time for every task within a Scheduling Interval time
regarding some constraints.
For smalll domains choco is working perfectly, but when I increase the
scheduling interval I am not getting any solution at all.
I looked for the problem and realized this part, which you can see below,
slows down the performance.
*IntDomainVar[] starts = pb.makeBoundIntVarArray("Rstart", 4 0, 5000);
int[] periods_data = new int[]{5000, 5000, 5000, 5000, 5000, 5000};
IntDomainVar[] gap = pb.makeEnumIntVarArray("gap?", 5000, 0, 1);
for (int i = 0; i < 5000; i++) {
Constraint[] impl = new Constraint[4];
int t2 = 0;
for (int i1 = 0; i1 < n; i1++) {
for (int j1=0; j1 < (5000/periods_data[i1]); j1++) {
IntVar[] varj1 = new
IntVar[]{starts[t2],duration[i1]};
impl[t2] = pb.and(pb.leq(starts[t2], i),
pb.leq(i+1,
pb.sum(varj1)));
t2++;
}
}
pb.post(pb.implies(pb.or(impl),pb.eq(gap[i],0)));
pb.post(pb.implies(pb.not(pb.or(impl)),pb.eq(gap[i],1)));
}
pb.solve();
*
Do you have any idea, how can I improve the performance? Or what is the
problem actually? Why can I get any solution? Can choco not solve large
problems at all or ... ?
Thanks in advance :)
FAtma
|
|
From: Fatma C. <cel...@gm...> - 2007-11-07 08:46:40
|
Hi Eran,
'gap' : for evaluating if there is any gap between the start time of two
tasks.
IntDomainVar[] gap = pb.makeEnumIntVarArray("gap?", schedulingInterval, 0,
1);
'jitters_data': jitter value of every task (constant).
int[] jitters_data = new int[]{2,1};
I can only schedule the tasks in an oreder T1T2 if T2's jitter value is
greater than T1's execution time (int[] wcets_data = new int[]{1,2};).
(tasks should start one after another at any time within the scheduling
interval without any gap)
with this example : jitters_data = {2,1}; wcets_data = {1,2} for the tasks
T1 and T2 the execution order can just be T1T2 cos T2T1 can not fulfill the
jitter constraints (T1 jitter < T2 execution,wcet, time)
I hope, this time is clearer :)
thanks for your help :)
cheers,
Fatma
On 11/7/07, eran shaham <era...@gm...> wrote:
>
> Hi,
>
> Before i can help, i get some comilation problems:
> What is `gap`?
> (from: impl[m] = pb.ifThen(pb.and(pb.leq(starts[t2], m),
> pb.geq(starts[t1], m)), pb.eq(gap[m], 0));)
>
> What is `jitters_data` ?
> (from: pb.distanceLT(starts[t1], starts[t2],
> jitters_data[i] + 1)), pb.eq
> (starts_task[t1],
> starts[t2]));
>
> Cheers,
> Eran
>
> ---------- Forwarded message ----------
> From: cho...@li...
> <cho...@li...>
> Date: Nov 6, 2007 10:10 PM
> Subject: Choco-users Digest, Vol 10, Issue 1
> To: cho...@li...
>
>
> Send Choco-users mailing list submissions to
> cho...@li...
>
> To subscribe or unsubscribe via the World Wide Web, visit
> https://lists.sourceforge.net/lists/listinfo/choco-users
> or, via email, send a message with subject or body 'help' to
> cho...@li...
>
> You can reach the person managing the list at
> cho...@li...
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Choco-users digest..."
>
>
> Today's Topics:
>
> 1. choco.bool.BinConjunction casting problem (Fatma Celik)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 6 Nov 2007 08:30:17 +0100
> From: "Fatma Celik" <cel...@gm...>
> Subject: [Choco-users] choco.bool.BinConjunction casting problem
> To: cho...@li...
> Message-ID:
> <e35...@ma...>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hello all,
>
> For a long time I am struggling with a problem and unfortunatelly still
> could not find any solution :( Please write me if you have any ideal.
>
> Problem description: Scheduliing some tasks according to some
> criterias.(see
> below)
>
> int[] periods_data = new int[]{20,20,10};
> IntDomainVar[] starts = pb.makeBoundIntVarArray("start", 4, 0, 20);
> IntDomainVar[] starts_task = pb.makeBoundIntVarArray("start task", 4, 0,
> 20);
>
> int t1 = 0;
> for (int i = 0; i < 3; i++) {
> for (int j = 0; j < (20/periods_data[i]); j++) {
> Constraint[] implor = new Constraint[4];
> int t2 = 0;
> for (int i1 = 0; i1 < 3; i1++) {
> for (int j1 = 0; j1 < (20/periods_data[i1]); j1++) {
>
> Constraint[] impl = new Constraint[20];
> for (int m = 0; m < 20; m++) {
> impl[m]= pb.ifThen(pb.and(pb.leq(starts[t2],m),
> pb.geq
> (starts[t1],m)),pb.eq(gap[m], 0));
> }
> implor[t2] = pb.ifThen(pb.and(pb.and(impl),
>
> pb.distanceLT(starts[t1],
> starts[t2], jitters_data[i]+1)),
> pb.eq(starts_task[t1], starts[t2]));
> t2++;
> }
> }
> pb.post(pb.or(implor));
> t1++;
> }
> }
>
> implor[t2] line gives " choco.integer.constraints.DistanceXYC cannot be
> cast
> to choco.bool.BinConjunction" error.
>
> You have any idea, why? And how can I give the same constraint in a
> different way?
>
> I appreciate your help.
>
> cheers,
> FAtma
> -------------- next part --------------
> An HTML attachment was scrubbed...
>
> ------------------------------
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc.
> Still grepping through log files to find problems? Stop.
> Now Search log events and configuration files using AJAX and a browser.
> Download your FREE copy of Splunk now >> http://get.splunk.com/
>
> ------------------------------
>
> _______________________________________________
> Choco-users mailing list
> Cho...@li...
> https://lists.sourceforge.net/lists/listinfo/choco-users
>
>
> End of Choco-users Digest, Vol 10, Issue 1
> ******************************************
>
|
|
From: Fatma C. <cel...@gm...> - 2007-11-07 07:32:43
|
Hello choco users :)
Does anybody know, "why can I not use OR and AND constraints at th same
time"? I just wanna define an array of constraints(which every array's
element is the combination of different AND contraints) and wanna OR every
array element. But apparently, it is not working :( when I define such
constraint I am getting "UnsupportedOperationException()" ( public
AbstractConstraint opposite()).
So how can I give this constraint??
for(.....){
for (.....){
implor[t5] = pb.ifThen(pb.and(pb.and(impl),pb.and(implStarts)),
pb.eq(tasks_starts[t4], starts[t5]));
}
pb.post(pb.or(implor));
}
(detailed code please see below)
I really need your help...please write me whatever you think the solution
can be.
Thanks in advance....
cheers,
Fatma
detailed code:
IntDomainVar[] starts = pb.makeBoundIntVarArray("start", intervalNr, 0,
schedulingInterval);
IntDomainVar[] tasks_starts = pb.makeBoundIntVarArray("start task",
intervalNr, 0, schedulingInterval);
for (int j = 0; j < (20/periods_data[i]); j++) {
Constraint[] implor = new Constraint[intervalNr];
int t5 = 0;
for (int i1 = 0; i1 < n; i1++) {
for (int j1 = 0; j1 < (20/periods_data[i1]); j1++) {
Constraint[] impl = new Constraint[20];
Constraint[] implStarts = new Constraint[20];
for (int m = 0; m < 20; m++) {
impl[m]= pb.implies(pb.leq(starts[t5],m),pb.eq(gap[m],
0));
implStarts[m]= pb.implies(pb.leq(pb.minus
(starts[t4],starts[t5]),jitters_data[i]+1),pb.TRUE);
}
implor[t5] =
pb.ifThen(pb.and(pb.and(impl),pb.and(implStarts)),
pb.eq(tasks_starts[t4], starts[t5]));
t5++;
}
}
pb.post(pb.or(implor));
t4++;
}
|
|
From: Fatma C. <cel...@gm...> - 2007-11-06 07:30:22
|
Hello all,
For a long time I am struggling with a problem and unfortunatelly still
could not find any solution :( Please write me if you have any ideal.
Problem description: Scheduliing some tasks according to some criterias.(see
below)
int[] periods_data = new int[]{20,20,10};
IntDomainVar[] starts = pb.makeBoundIntVarArray("start", 4, 0, 20);
IntDomainVar[] starts_task = pb.makeBoundIntVarArray("start task", 4, 0,
20);
int t1 = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < (20/periods_data[i]); j++) {
Constraint[] implor = new Constraint[4];
int t2 = 0;
for (int i1 = 0; i1 < 3; i1++) {
for (int j1 = 0; j1 < (20/periods_data[i1]); j1++) {
Constraint[] impl = new Constraint[20];
for (int m = 0; m < 20; m++) {
impl[m]= pb.ifThen(pb.and(pb.leq(starts[t2],m),
pb.geq
(starts[t1],m)),pb.eq(gap[m], 0));
}
implor[t2] = pb.ifThen(pb.and(pb.and(impl),
pb.distanceLT(starts[t1],
starts[t2], jitters_data[i]+1)),
pb.eq(starts_task[t1], starts[t2]));
t2++;
}
}
pb.post(pb.or(implor));
t1++;
}
}
implor[t2] line gives " choco.integer.constraints.DistanceXYC cannot be cast
to choco.bool.BinConjunction" error.
You have any idea, why? And how can I give the same constraint in a
different way?
I appreciate your help.
cheers,
FAtma
|