From efdec788bbc55b70d4b67912602fde7c8f4a8174 Mon Sep 17 00:00:00 2001 From: Corentin Le Molgat Date: Thu, 26 Sep 2024 15:50:10 +0200 Subject: [PATCH] fix3 --- ortools/sat/go/cpmodel/cp_model.go | 9 +- ortools/sat/go/cpmodel/cp_model_test.go | 201 ++++++++++++------------ 2 files changed, 104 insertions(+), 106 deletions(-) diff --git a/ortools/sat/go/cpmodel/cp_model.go b/ortools/sat/go/cpmodel/cp_model.go index 3eb77ecb93..49d1535bfb 100644 --- a/ortools/sat/go/cpmodel/cp_model.go +++ b/ortools/sat/go/cpmodel/cp_model.go @@ -946,10 +946,11 @@ func (cp *Builder) AddAllowedAssignments(vars ...IntVar) TableConstraint { // optional events incrementally after construction. func (cp *Builder) AddReservoirConstraint(min, max int64) ReservoirConstraint { return ReservoirConstraint{ - cp.appendConstraint(&cmpb.ConstraintProto{ - Constraint: &cmpb.ConstraintProto_Reservoir{&cmpb.ReservoirConstraintProto{ - MinLevel: min, MaxLevel: max, - }}}, + cp.appendConstraint( + &cmpb.ConstraintProto{ + Constraint: &cmpb.ConstraintProto_Reservoir{&cmpb.ReservoirConstraintProto{ + MinLevel: min, MaxLevel: max, + }}}, ), cp.NewConstant(1).Index()} } diff --git a/ortools/sat/go/cpmodel/cp_model_test.go b/ortools/sat/go/cpmodel/cp_model_test.go index c8c573ca0e..8acc6c9554 100644 --- a/ortools/sat/go/cpmodel/cp_model_test.go +++ b/ortools/sat/go/cpmodel/cp_model_test.go @@ -1073,13 +1073,11 @@ func TestCpModelBuilder_Constraints(t *testing.T) { return m.GetConstraints()[c.Index()] }, want: &cmpb.ConstraintProto{ - Constraint: &cmpb.ConstraintProto_Linear{ - &cmpb.LinearConstraintProto{ - Vars: []int32{int32(iv1.Index())}, - Coeffs: []int64{1}, - Domain: []int64{math.MinInt64, 9, 11, math.MaxInt64}, - }, - }, + Constraint: &cmpb.ConstraintProto_Linear{&cmpb.LinearConstraintProto{ + Vars: []int32{int32(iv1.Index())}, + Coeffs: []int64{1}, + Domain: []int64{math.MinInt64, 9, 11, math.MaxInt64}, + }}, }, }, { @@ -1091,27 +1089,27 @@ func TestCpModelBuilder_Constraints(t *testing.T) { }, want: &cmpb.ConstraintProto{ Constraint: &cmpb.ConstraintProto_AllDiff{&cmpb.AllDifferentConstraintProto{ - Exprs: []*cmpb.LinearExpressionProto{ - &cmpb.LinearExpressionProto{ - Vars: []int32{int32(iv1.Index())}, - Coeffs: []int64{1}, - }, - &cmpb.LinearExpressionProto{ - Vars: []int32{int32(bv1.Index())}, - Coeffs: []int64{1}, - }, - &cmpb.LinearExpressionProto{ - Vars: []int32{int32(bv2.Index())}, - Coeffs: []int64{-1}, - Offset: 1, - }, - &cmpb.LinearExpressionProto{ - Vars: []int32{}, - Coeffs: []int64{}, - Offset: 10, - }, + Exprs: []*cmpb.LinearExpressionProto{ + &cmpb.LinearExpressionProto{ + Vars: []int32{int32(iv1.Index())}, + Coeffs: []int64{1}, }, - }}, + &cmpb.LinearExpressionProto{ + Vars: []int32{int32(bv1.Index())}, + Coeffs: []int64{1}, + }, + &cmpb.LinearExpressionProto{ + Vars: []int32{int32(bv2.Index())}, + Coeffs: []int64{-1}, + Offset: 1, + }, + &cmpb.LinearExpressionProto{ + Vars: []int32{}, + Coeffs: []int64{}, + Offset: 10, + }, + }, + }}, }, }, { @@ -1123,9 +1121,9 @@ func TestCpModelBuilder_Constraints(t *testing.T) { }, want: &cmpb.ConstraintProto{ Constraint: &cmpb.ConstraintProto_Element{&cmpb.ElementConstraintProto{ - Index: int32(iv1.Index()), - Target: int32(iv4.Index()), - Vars: []int32{int32(iv2.Index()), int32(iv3.Index())}, + Index: int32(iv1.Index()), + Target: int32(iv4.Index()), + Vars: []int32{int32(iv2.Index()), int32(iv3.Index())}, }}, }, }, @@ -1138,13 +1136,13 @@ func TestCpModelBuilder_Constraints(t *testing.T) { }, want: &cmpb.ConstraintProto{ Constraint: &cmpb.ConstraintProto_Element{&cmpb.ElementConstraintProto{ - Index: int32(iv1.Index()), - Target: int32(iv4.Index()), - Vars: []int32{ - int32(model.NewConstant(10).Index()), - int32(model.NewConstant(20).Index()), - }, - }}, + Index: int32(iv1.Index()), + Target: int32(iv4.Index()), + Vars: []int32{ + int32(model.NewConstant(10).Index()), + int32(model.NewConstant(20).Index()), + }, + }}, }, }, { @@ -1156,9 +1154,9 @@ func TestCpModelBuilder_Constraints(t *testing.T) { }, want: &cmpb.ConstraintProto{ Constraint: &cmpb.ConstraintProto_Inverse{&cmpb.InverseConstraintProto{ - FDirect: []int32{int32(iv1.Index()), int32(iv2.Index())}, - FInverse: []int32{int32(iv3.Index()), int32(iv4.Index())}, - }}, + FDirect: []int32{int32(iv1.Index()), int32(iv2.Index())}, + FInverse: []int32{int32(iv3.Index()), int32(iv4.Index())}, + }}, }, }, { @@ -1170,21 +1168,21 @@ func TestCpModelBuilder_Constraints(t *testing.T) { }, want: &cmpb.ConstraintProto{ Constraint: &cmpb.ConstraintProto_LinMax{&cmpb.LinearArgumentProto{ - Target: &cmpb.LinearExpressionProto{ - Vars: []int32{int32(iv1.Index())}, + Target: &cmpb.LinearExpressionProto{ + Vars: []int32{int32(iv1.Index())}, + Coeffs: []int64{-1}, + }, + Exprs: []*cmpb.LinearExpressionProto{ + &cmpb.LinearExpressionProto{ + Vars: []int32{int32(iv2.Index())}, Coeffs: []int64{-1}, }, - Exprs: []*cmpb.LinearExpressionProto{ - &cmpb.LinearExpressionProto{ - Vars: []int32{int32(iv2.Index())}, - Coeffs: []int64{-1}, - }, - &cmpb.LinearExpressionProto{ - Vars: []int32{int32(iv3.Index())}, - Coeffs: []int64{-1}, - }, + &cmpb.LinearExpressionProto{ + Vars: []int32{int32(iv3.Index())}, + Coeffs: []int64{-1}, }, - }}, + }, + }}, }, }, { @@ -1196,21 +1194,21 @@ func TestCpModelBuilder_Constraints(t *testing.T) { }, want: &cmpb.ConstraintProto{ Constraint: &cmpb.ConstraintProto_LinMax{&cmpb.LinearArgumentProto{ - Target: &cmpb.LinearExpressionProto{ - Vars: []int32{int32(iv1.Index())}, + Target: &cmpb.LinearExpressionProto{ + Vars: []int32{int32(iv1.Index())}, + Coeffs: []int64{1}, + }, + Exprs: []*cmpb.LinearExpressionProto{ + &cmpb.LinearExpressionProto{ + Vars: []int32{int32(iv2.Index())}, Coeffs: []int64{1}, }, - Exprs: []*cmpb.LinearExpressionProto{ - &cmpb.LinearExpressionProto{ - Vars: []int32{int32(iv2.Index())}, - Coeffs: []int64{1}, - }, - &cmpb.LinearExpressionProto{ - Vars: []int32{int32(iv3.Index())}, - Coeffs: []int64{1}, - }, + &cmpb.LinearExpressionProto{ + Vars: []int32{int32(iv3.Index())}, + Coeffs: []int64{1}, }, - }}, + }, + }}, }, }, { @@ -1222,21 +1220,21 @@ func TestCpModelBuilder_Constraints(t *testing.T) { }, want: &cmpb.ConstraintProto{ Constraint: &cmpb.ConstraintProto_IntProd{&cmpb.LinearArgumentProto{ - Target: &cmpb.LinearExpressionProto{ - Vars: []int32{int32(iv1.Index())}, + Target: &cmpb.LinearExpressionProto{ + Vars: []int32{int32(iv1.Index())}, + Coeffs: []int64{1}, + }, + Exprs: []*cmpb.LinearExpressionProto{ + &cmpb.LinearExpressionProto{ + Vars: []int32{int32(iv2.Index())}, Coeffs: []int64{1}, }, - Exprs: []*cmpb.LinearExpressionProto{ - &cmpb.LinearExpressionProto{ - Vars: []int32{int32(iv2.Index())}, - Coeffs: []int64{1}, - }, - &cmpb.LinearExpressionProto{ - Vars: []int32{int32(iv3.Index())}, - Coeffs: []int64{1}, - }, + &cmpb.LinearExpressionProto{ + Vars: []int32{int32(iv3.Index())}, + Coeffs: []int64{1}, }, - }}, + }, + }}, }, }, { @@ -1248,21 +1246,21 @@ func TestCpModelBuilder_Constraints(t *testing.T) { }, want: &cmpb.ConstraintProto{ Constraint: &cmpb.ConstraintProto_IntDiv{&cmpb.LinearArgumentProto{ - Target: &cmpb.LinearExpressionProto{ - Vars: []int32{int32(iv1.Index())}, + Target: &cmpb.LinearExpressionProto{ + Vars: []int32{int32(iv1.Index())}, + Coeffs: []int64{1}, + }, + Exprs: []*cmpb.LinearExpressionProto{ + &cmpb.LinearExpressionProto{ + Vars: []int32{int32(iv2.Index())}, Coeffs: []int64{1}, }, - Exprs: []*cmpb.LinearExpressionProto{ - &cmpb.LinearExpressionProto{ - Vars: []int32{int32(iv2.Index())}, - Coeffs: []int64{1}, - }, - &cmpb.LinearExpressionProto{ - Vars: []int32{int32(iv3.Index())}, - Coeffs: []int64{1}, - }, + &cmpb.LinearExpressionProto{ + Vars: []int32{int32(iv3.Index())}, + Coeffs: []int64{1}, }, - }}, + }, + }}, }, }, { @@ -1274,21 +1272,21 @@ func TestCpModelBuilder_Constraints(t *testing.T) { }, want: &cmpb.ConstraintProto{ Constraint: &cmpb.ConstraintProto_LinMax{&cmpb.LinearArgumentProto{ - Target: &cmpb.LinearExpressionProto{ - Vars: []int32{int32(iv1.Index())}, + Target: &cmpb.LinearExpressionProto{ + Vars: []int32{int32(iv1.Index())}, + Coeffs: []int64{1}, + }, + Exprs: []*cmpb.LinearExpressionProto{ + &cmpb.LinearExpressionProto{ + Vars: []int32{int32(iv2.Index())}, Coeffs: []int64{1}, }, - Exprs: []*cmpb.LinearExpressionProto{ - &cmpb.LinearExpressionProto{ - Vars: []int32{int32(iv2.Index())}, - Coeffs: []int64{1}, - }, - &cmpb.LinearExpressionProto{ - Vars: []int32{int32(iv2.Index())}, - Coeffs: []int64{-1}, - }, + &cmpb.LinearExpressionProto{ + Vars: []int32{int32(iv2.Index())}, + Coeffs: []int64{-1}, }, - }}, + }, + }}, }, }, { @@ -1418,8 +1416,7 @@ func TestCpModelBuilder_Constraints(t *testing.T) { }, }, ActiveLiterals: []int32{int32(one.Index())}, - }, - }, + }}, }, }, {