示例#1
0
        public void Test()
        {
            Solver solver	= new Solver( -1000, 1000 );
            IntVar i0	= new IntVar( solver, 0, 10 );
            IntVar i1	= new IntVar( solver, 10, 20 );
            IntVar i2	= new IntVar( solver, 20, 30 );
            IntVar s	= new IntVar( solver, 30, 60 );

            IntVarList list		= new IntVarList( solver, new IntVar[] { i0, i1, i2 } );
            IntVarListSum sum	= list.Sum();

            solver.Add( sum );
            solver.Propagate();

            Assert.AreEqual( s.Domain, sum.Var0.Domain );
        }
示例#2
0
文件: Program.cs 项目: nofear/Mara
        static void Test1()
        {
            Solver solver		= new Solver( 0, 100 );
            IntVar a			= new IntVar( solver, 0, 10 );
            IntVar b			= new IntVar( solver, 0, 10 );
            IntVar c			= new IntVar( solver, 0, 10 );
            IntVarList l		= new IntVarList( a, b, c );
            IntVarListSum sum	= l.Sum();

            solver.Add( sum );
            solver.Propagate();

            sum.Var0.Value		= 6;

            a.Value		= 1;
            b.Value		= 2;
        }
示例#3
0
文件: Program.cs 项目: nofear/Mara
        static void Mul2()
        {
            IntDomain v		= new IntDomain();
            for( int idx = 0; idx < 100000; ++idx )
            {
                Solver s	= new Solver( -1000, 1000 );
                IntVar a	= new IntVar( s, IntDomain.Random( -100, 100, 1 ), "a" );
                IntVar b	= new IntVar( s, IntDomain.Random( -100, 100, 1 ), "b" );
                IntVar c	= new IntVar( s, IntDomain.Random( -100, 100, 1 ), "c" );
                IntVar d	= new IntVar( s, IntDomain.Random( -100, 100, 1 ), "d" );
                IntVarList l	= new IntVarList( s, new IntVar[] { a, b, c, d } );
                //p.Add( a + b + c + d );
                s.Add( l.Sum() );

                s.Propagate();
                s.PrintVariables();
                s.PrintConstraints();
            }
        }