Example #1
0
        public List <IProduct> OpenProductList(int time, MetaResouceState r, IConOL cl)
        {
            List <IProduct> OpenProductList = new List <IProduct>();

            foreach (IProduct p in DataAdapter.ProSpace)
            {
                if (r.CanSupportProduct(p))
                {
                    OpenProductList.Add(p);
                }
            }
            return(OpenProductList);
        }
Example #2
0
        public List <Product> OPL(int time, MetaResouceState r)
        {
            List <Product> res = new List <Product>();

            foreach (Product p in m_DataAdapter.ProSpace)
            {
                //Console.WriteLine("产品{0}\t价格{1}\t投标价格{2}", p.Description, p.Fare, p.Sum(i => Solver.DualValue1[time][m_DataAdapter.RS.IndexOf(i as Resource)]));
                if (r.CanSupportProduct(p) && p.Fare >= Math.Floor((p as List <Resource>).Sum(i => BidPrice[time2index(time)][1 + m_DataAdapter.RS.IndexOf(i as Resource)])))
                {
                    res.Add(p);
                }
            }
            return(res);
        }