Esempio n. 1
0
        public void SolveFromString()
        {
            string           model_str     = @"
            { 
              ""variables"": [
                { ""name"": ""C"", ""domain"": [ ""1"", ""9"" ] },
                { ""name"": ""P"", ""domain"": [ ""0"", ""9"" ] },
                { ""name"": ""I"", ""domain"": [ ""1"", ""9"" ] },
                { ""name"": ""S"", ""domain"": [ ""0"", ""9"" ] },
                { ""name"": ""F"", ""domain"": [ ""1"", ""9"" ] },
                { ""name"": ""U"", ""domain"": [ ""0"", ""9"" ] },
                { ""name"": ""N"", ""domain"": [ ""0"", ""9"" ] },
                { ""name"": ""T"", ""domain"": [ ""1"", ""9"" ] },
                { ""name"": ""R"", ""domain"": [ ""0"", ""9"" ] },
                { ""name"": ""E"", ""domain"": [ ""0"", ""9"" ] }
              ],
              ""constraints"": [
                { ""allDiff"": { ""vars"": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] } },
                { ""linear"": { ""vars"": [ 6, 5, 9, 4, 3, 7, 8, 2, 0, 1 ], ""coeffs"": [ ""1"", ""0"", ""-1"", ""100"", ""1"", ""-1000"", ""-100"", ""10"", ""10"", ""1"" ], ""domain"": [ ""0"", ""0"" ] } }
              ]
            }";
            CpModelProto     model         = Google.Protobuf.JsonParser.Default.Parse <CpModelProto>(model_str);
            SolveWrapper     solve_wrapper = new SolveWrapper();
            CpSolverResponse response      = solve_wrapper.Solve(model);

            Console.WriteLine(response);
        }
Esempio n. 2
0
        public void SimpleLinearModelProto2()
        {
            CpModelProto model = new CpModelProto();

            model.Variables.Add(NewIntegerVariable(-10, 10));
            model.Variables.Add(NewIntegerVariable(-10, 10));
            model.Constraints.Add(NewLinear2(0, 1, 1, 1, -1000000, 100000));
            model.Objective = NewMaximize2(0, 1, 1, -2);
            // Console.WriteLine("model = " + model.ToString());

            SolveWrapper     solve_wrapper = new SolveWrapper();
            CpSolverResponse response      = solve_wrapper.Solve(model);

            Assert.Equal(CpSolverStatus.Optimal, response.Status);
            Assert.Equal(30, response.ObjectiveValue);
            Assert.Equal(new long[] { 10, -10 }, response.Solution);
            // Console.WriteLine("response = " + response.ToString());
        }
Esempio n. 3
0
 private void CreateSolveWrapper()
 {
     solve_wrapper_ = new SolveWrapper();
 }