---
OptanoImplies/Program.cs | 16 ++++++----------
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/OptanoImplies/Program.cs b/OptanoImplies/Program.cs
index 8408d7a..50a2a44 100644
--- a/OptanoImplies/Program.cs
+++ b/OptanoImplies/Program.cs
@@ -47,20 +47,16 @@ namespace OptanoImplies
if (cropGrowing.Count() == 2)
{
- // crop assignment current crop on current day = 1
- var cropPlantedOnDayConstraint = new Constraint(CropAssignment[day, crop], "", 1, 1);
-
- // sum of crop assignment for all crops on next two days = 0
- var cropGrowingOnDaysConstraint = new Constraint(Expression.Sum(cropGrowing.SelectMany(d => crops.Select(c => CropAssignment[d, c]))), "", 0, 0);
-
- // if cropPlantedOnDayConstraint is fulfilled, cropGrowingOnDaysConstraint must also be fulfilled
- var impliesConstraint = cropPlantedOnDayConstraint.Implies(cropGrowingOnDaysConstraint);
- model.AddConstraint(impliesConstraint);
+ // set otherDay to zero, if the crop is planted on day.
+ foreach (var otherDay in cropGrowing)
+ {
+ model.AddConstraint(-CropAssignment[day, crop] + 1 >= CropAssignment[otherDay, crop]);
+ }
}
else
{
// the crop can't finish before end of horizon
- var cropCantFinishGrowingConstraint = new Constraint(CropAssignment[day, crop], "", 0, 0);
+ var cropCantFinishGrowingConstraint = CropAssignment[day, crop] == 0;
model.AddConstraint(cropCantFinishGrowingConstraint);
}
}
--
2.26.1.windows.1