File tree Expand file tree Collapse file tree 10 files changed +37
-14
lines changed
java/org/acme/foodpackaging/domain
maintenance-scheduling/src/main
java/org/acme/maintenancescheduling/domain
project-job-scheduling/src/main
java/org/acme/projectjobschedule/domain
java/org/acme/taskassigning/domain
java/org/acme/vehiclerouting/domain Expand file tree Collapse file tree 10 files changed +37
-14
lines changed Original file line number Diff line number Diff line change 3
3
import ai .timefold .solver .core .api .domain .entity .PlanningEntity ;
4
4
import ai .timefold .solver .core .api .domain .entity .PlanningPin ;
5
5
import ai .timefold .solver .core .api .domain .lookup .PlanningId ;
6
- import ai .timefold .solver .core .api .domain .variable .CascadingUpdateShadowVariable ;
7
6
import ai .timefold .solver .core .api .domain .variable .InverseRelationShadowVariable ;
8
7
import ai .timefold .solver .core .api .domain .variable .NextElementShadowVariable ;
9
8
import ai .timefold .solver .core .api .domain .variable .PreviousElementShadowVariable ;
9
+ import ai .timefold .solver .core .api .domain .variable .ShadowSources ;
10
10
import ai .timefold .solver .core .api .domain .variable .ShadowVariable ;
11
- import ai .timefold .solver .core .preview . api .domain .variable .declarative . ShadowSources ;
11
+ import ai .timefold .solver .core .api .domain .variable .ShadowVariablesInconsistent ;
12
12
13
13
import com .fasterxml .jackson .annotation .JsonIgnore ;
14
14
@@ -38,6 +38,11 @@ public class Job {
38
38
@ InverseRelationShadowVariable (sourceVariableName = "jobs" )
39
39
private Line line ;
40
40
41
+ // TODO: Remove me when solver has supplier
42
+ @ JsonIgnore
43
+ @ ShadowVariablesInconsistent
44
+ private boolean isInconsistent ;
45
+
41
46
@ ShadowVariable (supplierName = "lineOperatorSupplier" )
42
47
private Operator lineOperator ;
43
48
@ JsonIgnore
Original file line number Diff line number Diff line change 4
4
5
5
# The solver runs for 30 seconds. To run for 5 minutes use "5m" and for 2 hours use "2h".
6
6
quarkus.timefold.solver.termination.spent-limit =30s
7
- quarkus.timefold.solver.enabled-preview-features =DECLARATIVE_SHADOW_VARIABLES
8
7
9
8
# To change how many solvers to run in parallel
10
9
# timefold.solver-manager.parallel-solver-count=4
Original file line number Diff line number Diff line change 6
6
import ai .timefold .solver .core .api .domain .entity .PlanningEntity ;
7
7
import ai .timefold .solver .core .api .domain .lookup .PlanningId ;
8
8
import ai .timefold .solver .core .api .domain .variable .PlanningVariable ;
9
+ import ai .timefold .solver .core .api .domain .variable .ShadowSources ;
9
10
import ai .timefold .solver .core .api .domain .variable .ShadowVariable ;
10
- import ai .timefold .solver .core .preview .api .domain .variable .declarative .ShadowSources ;
11
+ import ai .timefold .solver .core .api .domain .variable .ShadowVariablesInconsistent ;
12
+
13
+ import com .fasterxml .jackson .annotation .JsonIgnore ;
11
14
12
15
@ PlanningEntity
13
16
public class Job {
@@ -31,6 +34,11 @@ public class Job {
31
34
@ ShadowVariable (supplierName = "endDateSupplier" )
32
35
private LocalDate endDate ; // Exclusive
33
36
37
+ // TODO: Remove me when solver has supplier
38
+ @ JsonIgnore
39
+ @ ShadowVariablesInconsistent
40
+ private boolean isInconsistent ;
41
+
34
42
public Job () {
35
43
}
36
44
Original file line number Diff line number Diff line change 4
4
5
5
# The solver runs for 30 seconds. To run for 5 minutes use "5m" and for 2 hours use "2h".
6
6
quarkus.timefold.solver.termination.spent-limit =30s
7
- quarkus.timefold.solver.enabled-preview-features =DECLARATIVE_SHADOW_VARIABLES
8
7
9
8
# To change how many solvers to run in parallel
10
9
# timefold.solver-manager.parallel-solver-count=4
Original file line number Diff line number Diff line change 1
1
package org .acme .projectjobschedule .domain ;
2
2
3
3
import java .util .Arrays ;
4
- import java .util .Collections ;
5
4
import java .util .List ;
6
5
import java .util .Objects ;
7
6
12
11
import ai .timefold .solver .core .api .domain .valuerange .ValueRangeFactory ;
13
12
import ai .timefold .solver .core .api .domain .valuerange .ValueRangeProvider ;
14
13
import ai .timefold .solver .core .api .domain .variable .PlanningVariable ;
14
+ import ai .timefold .solver .core .api .domain .variable .ShadowSources ;
15
15
import ai .timefold .solver .core .api .domain .variable .ShadowVariable ;
16
- import ai .timefold .solver .core .preview . api .domain .variable .declarative . ShadowSources ;
16
+ import ai .timefold .solver .core .api .domain .variable .ShadowVariablesInconsistent ;
17
17
18
18
import org .acme .projectjobschedule .domain .solver .DelayStrengthComparator ;
19
19
@@ -50,6 +50,11 @@ public class Allocation {
50
50
private Integer delay ; // In days
51
51
52
52
// Shadow variables
53
+ // TODO: Remove me when solver has supplier
54
+ @ JsonIgnore
55
+ @ ShadowVariablesInconsistent
56
+ private boolean isInconsistent ;
57
+
53
58
@ ShadowVariable (supplierName = "predecessorsDoneDateSupplier" )
54
59
private Integer predecessorsDoneDate ;
55
60
Original file line number Diff line number Diff line change 4
4
5
5
# The solver runs for 30 seconds. To run for 5 minutes use "5m" and for 2 hours use "2h".
6
6
quarkus.timefold.solver.termination.spent-limit =30s
7
- quarkus.timefold.solver.enabled-preview-features =DECLARATIVE_SHADOW_VARIABLES
8
7
9
8
# To change how many solvers to run in parallel
10
9
# timefold.solver-manager.parallel-solver-count=4
Original file line number Diff line number Diff line change 2
2
3
3
import ai .timefold .solver .core .api .domain .entity .PlanningEntity ;
4
4
import ai .timefold .solver .core .api .domain .lookup .PlanningId ;
5
- import ai .timefold .solver .core .api .domain .variable .CascadingUpdateShadowVariable ;
6
5
import ai .timefold .solver .core .api .domain .variable .InverseRelationShadowVariable ;
7
6
import ai .timefold .solver .core .api .domain .variable .PreviousElementShadowVariable ;
7
+ import ai .timefold .solver .core .api .domain .variable .ShadowSources ;
8
8
import ai .timefold .solver .core .api .domain .variable .ShadowVariable ;
9
- import ai .timefold .solver .core .preview . api .domain .variable .declarative . ShadowSources ;
9
+ import ai .timefold .solver .core .api .domain .variable .ShadowVariablesInconsistent ;
10
10
11
11
import com .fasterxml .jackson .annotation .JsonIdentityInfo ;
12
12
import com .fasterxml .jackson .annotation .JsonIgnore ;
@@ -25,6 +25,11 @@ public class Task {
25
25
private Priority priority ;
26
26
27
27
// Shadow variables
28
+ // TODO: Remove me when solver has supplier
29
+ @ JsonIgnore
30
+ @ ShadowVariablesInconsistent
31
+ private boolean isInconsistent ;
32
+
28
33
@ JsonIgnore
29
34
@ InverseRelationShadowVariable (sourceVariableName = "tasks" )
30
35
private Employee employee ;
Original file line number Diff line number Diff line change 4
4
5
5
# The solver runs for 30 seconds. To run for 5 minutes use "5m" and for 2 hours use "2h".
6
6
quarkus.timefold.solver.termination.spent-limit =30s
7
- quarkus.timefold.solver.enabled-preview-features =DECLARATIVE_SHADOW_VARIABLES
8
7
9
8
# To change how many solvers to run in parallel
10
9
# timefold.solver-manager.parallel-solver-count=4
Original file line number Diff line number Diff line change 6
6
7
7
import ai .timefold .solver .core .api .domain .entity .PlanningEntity ;
8
8
import ai .timefold .solver .core .api .domain .lookup .PlanningId ;
9
- import ai .timefold .solver .core .api .domain .variable .CascadingUpdateShadowVariable ;
10
9
import ai .timefold .solver .core .api .domain .variable .InverseRelationShadowVariable ;
11
10
import ai .timefold .solver .core .api .domain .variable .PreviousElementShadowVariable ;
11
+ import ai .timefold .solver .core .api .domain .variable .ShadowSources ;
12
12
import ai .timefold .solver .core .api .domain .variable .ShadowVariable ;
13
- import ai .timefold .solver .core .preview . api .domain .variable .declarative . ShadowSources ;
13
+ import ai .timefold .solver .core .api .domain .variable .ShadowVariablesInconsistent ;
14
14
15
15
import com .fasterxml .jackson .annotation .JsonIdentityInfo ;
16
16
import com .fasterxml .jackson .annotation .JsonIdentityReference ;
@@ -31,6 +31,11 @@ public class Visit implements LocationAware {
31
31
private LocalDateTime maxEndTime ;
32
32
private Duration serviceDuration ;
33
33
34
+ // TODO: Remove me when solver has supplier
35
+ @ JsonIgnore
36
+ @ ShadowVariablesInconsistent
37
+ private boolean isInconsistent ;
38
+
34
39
@ JsonIdentityReference (alwaysAsId = true )
35
40
@ InverseRelationShadowVariable (sourceVariableName = "visits" )
36
41
private Vehicle vehicle ;
Original file line number Diff line number Diff line change 4
4
5
5
# The solver runs for 30 seconds. To run for 5 minutes use "5m" and for 2 hours use "2h".
6
6
quarkus.timefold.solver.termination.spent-limit =30s
7
- quarkus.timefold.solver.enabled-preview-features =DECLARATIVE_SHADOW_VARIABLES
8
7
9
8
# To change how many solvers to run in parallel
10
9
# timefold.solver-manager.parallel-solver-count=4
You can’t perform that action at this time.
0 commit comments