示例#1
0
文件: Utils.cs 项目: luisloo10/CALT
        public QueueService CloneQueueService(QueueService Q, int FatherChromosomeID)
        {
            QueueService Qs = new CoEVO.QueueService(Q.ID, Q.VesselID, Q.VCategory, Q.Direction, Q.ArrivalTime, Q.AwaitingTime, Q.MOV, Q.Status, Q.ToUse);

            Qs.ID           = Q.ID;
            Qs.ArrivalTime  = Q.ArrivalTime;
            Qs.AwaitingTime = Q.AwaitingTime;
            //Qs.ChromosomeID = Q.ChromosomeID;
            Qs.ChromosomeID   = FatherChromosomeID;
            Qs.Cost           = Q.Cost;
            Qs.CrossTime      = Q.CrossTime;
            Qs.CurrentDock    = Q.CurrentDock;
            Qs.CurrentHour    = Q.CurrentHour;
            Qs.DelayTime      = Q.DelayTime;
            Qs.DepartureTime  = Q.DepartureTime;
            Qs.Direction      = Q.Direction;
            Qs.Fitness        = Q.Fitness;
            Qs.FixedCost      = Q.FixedCost;
            Qs.POPSupplyingID = Q.POPSupplyingID;
            Qs.QueueType      = Q.QueueType;
            Qs.TimeInPort     = Q.TimeInPort;
            Qs.Units          = Q.Units;
            Qs.VariableCost   = Q.VariableCost;
            return(Qs);
        }
示例#2
0
文件: Utils.cs 项目: luisloo10/CALT
        public QueueService[] GetQuequeServiceHistoryForPOPID(QueueService[] QueueServiceHistory, int POP_ID, int QueueSize)
        {
            QueueService[] Qs   = new CoEVO.QueueService[QueueSize];
            int            cont = 0;

            foreach (QueueService QL in Queue)
            {
                if (QL.POPSupplyingID == POP_ID)
                {
                    if (GetVesselTypebyVesselID(QL.VesselID).ToUse1 > 0) //Se ToUse es diferente a 0, i.e. Not Crossing
                    {
                        Qs[cont] = QL;
                        cont++;
                    }
                }
            }
            return(Qs);
        }