Example #1
0
 public Swap(Serialized enclosingInstance, int index, int i, int j)
 {
     InitBlock(enclosingInstance);
     this.index = index;
     this.i     = i;
     this.j     = j;
 }
Example #2
0
 public SerializedCondition(Serialized enclosingInstance)
 {
     InitBlock(enclosingInstance);
     index = EnclosingInstance.Index;
     code  = new int[EnclosingInstance.v.Length][];
     for (int i = 0; i < EnclosingInstance.v.Length; i++)
     {
         code[i] = new int[3];
     }
     for (int i = 0; i < code.Length; i++)
     {
         Domain d = EnclosingInstance.v[i].Domain;
         code[i][0] = i;
         code[i][1] = ((IntDomain)d).Value();
         code[i][2] = EnclosingInstance.l[i];
     }
     System.Collections.IComparer comp = new AnonymousClassComparator(this);
     Array.Sort(code, comp);
 }
Example #3
0
    public virtual Network network()
    {
        if (problem.Equals("ft06"))
        {
            ft06();
        }
        else if (problem.Equals("ft10"))
        {
            ft10();
        }
        else if (problem.Equals("la40"))
        {
            la40();
        }
        else if (problem.Equals("swv20"))
        {
            swv20();
        }
        else if (problem.Equals("abz08"))
        {
            abz08();
        }
        else
        {
            Console.Out.WriteLine("Unknown problem");
            return null;
        }
        int[][] machine_op = new int[numberOfMachines][];
        for (int i = 0; i < numberOfMachines; i++)
        {
            machine_op[i] = new int[numberOfJobs];
        }
        int[][] machine_pt = new int[numberOfMachines][];
        for (int i2 = 0; i2 < numberOfMachines; i2++)
        {
            machine_pt[i2] = new int[numberOfJobs];
        }
        for (int j = 0; j < job_machine.Length; j++)
        {
            for (int k = 0; k < job_machine[j].Length; k++)
            {
                int m = job_machine[j][k];
                machine_op[m][j] = k;
                machine_pt[m][j] = job_pt[j][k];
            }
        }

        Network net = new Network();
        Variable endVar = new Variable(net, new IntDomain(0, IntDomain.MaxValue));
        net.Objective =endVar;
        Variable[][] job = new Variable[numberOfJobs][];
        for (int i3 = 0; i3 < numberOfJobs; i3++)
        {
            job[i3] = new Variable[numberOfMachines + 1];
        }
        for (int j = 0; j < numberOfJobs; j++)
        {
            for (int k = 0; k < numberOfMachines; k++)
            {
                job[j][k] = new Variable(net, new IntDomain(0, IntDomain.MaxValue));
            }
            job[j][numberOfMachines] = endVar;
            Sequential seq = new Sequential(net, job[j], job_pt[j]);
        }
        Variable[][] machine = new Variable[numberOfMachines][];
        for (int i4 = 0; i4 < numberOfMachines; i4++)
        {
            machine[i4] = new Variable[numberOfJobs];
        }
        for (int m = 0; m < numberOfMachines; m++)
        {
            for (int j = 0; j < numberOfJobs; j++)
            {
                int k = machine_op[m][j];
                machine[m][j] = job[j][k];
            }
            Serialized ser = new Serialized(net, machine[m], machine_pt[m]);
        }
        return net;
    }
Example #4
0
 private void  InitBlock(Serialized enclosingInstance)
 {
     EnclosingInstance = enclosingInstance;
 }
Example #5
0
 private void InitBlock(Serialized enclosingInstance)
 {
     EnclosingInstance = enclosingInstance;
 }
Example #6
0
 public Swap(Serialized enclosingInstance, int index, int i, int j)
 {
     InitBlock(enclosingInstance);
     _index = index;
     _i = i;
     _j = j;
 }
Example #7
0
 public SerializedCondition(Serialized enclosingInstance)
 {
     InitBlock(enclosingInstance);
     index = EnclosingInstance.Index;
     _code = new int[EnclosingInstance._v.Length][];
     for (int i = 0; i < EnclosingInstance._v.Length; i++)
     {
         _code[i] = new int[3];
     }
     for (int i = 0; i < _code.Length; i++)
     {
         Domain d = EnclosingInstance._v[i].Domain;
         _code[i][0] = i;
         _code[i][1] = ((IntDomain) d).Value();
         _code[i][2] = EnclosingInstance._l[i];
     }
     System.Collections.IComparer comp = new AnonymousClassComparator(this);
     Array.Sort(_code, comp);
 }