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); }
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); }