Пример #1
0
        public override void Main()
        {
            // Skip the separation if not at the end of the cut loop

            if (!IsAfterCutLoop())
            {
                return;
            }

            // Get the current x solution

            double[][] sol = new double[numNodes][];
            for (int i = 0; i < numNodes; ++i)
            {
                sol[i] = GetValues(x[i]);
            }

            // Benders' cut separation

            IRange cut = workerLP.Separate(sol, x);

            if (cut != null)
            {
                Add(cut);
            }
        }
Пример #2
0
        public override void Main()
        {
            // Get the current x solution

            double[][] sol = new double[numNodes][];
            for (int i = 0; i < numNodes; ++i)
            {
                sol[i] = GetValues(x[i]);
            }

            // Benders' cut separation

            IRange cut = workerLP.Separate(sol, x);

            if (cut != null)
            {
                Add(cut);
            }
        }