有一组电视台,比如中央台、北京台、上海台、浙江台、湖南台等等,然后每个电视台在多个的地区有不同的收视率,比如中央台在北京收视率是0.3,在上海是0.2,在湖南是0.1等等,每个台他有一个广告的单价,比如中央台是10000元,北京台是3000元,现在客户指定一个收视率目标,比如北京要达到5,上海要达到4(同一地区收视率可累加),我需要做一个算法,计算出应该在哪些台上做广告(不用全部的电视台),使得既能达到收视目标,同时预算最低?

解决方案 »

  1.   

    我觉得你这样的数据比较合适用 SSAS数据分析工具来分析,
      

  2.   

    要不LZ给数据库结构把,或许用sql就能解决,你这样用文字描述不好回答
      

  3.   

    表我还没建,我想表应该如下:电视台表 t_TV(FTVID int, FTVName varchar(255), FPrice numeric(18,2))  即ID、名称、单价地区表 t_Region(FRegionID int, FRegionName varchar(255))  即ID、名称电视台收视率表 t_TVRating(FTVID int, FRegionID int, FRating numeric(18,2)) 即电视台ID、地区ID、收视率客户表 t_Client(FClientID int, FClientName varchar(255)) 即ID、名称客户所要求的收视率目标表 t_ClientTarget(FClientID int, FRegionID int, FTargetRating numeric(18,2)) 即客户ID、地区ID、目标收视率
      

  4.   

    再加一个表来存放计算后的结果:t_Result(FClientID int, FTVID int) 总费用可以和电视台表关联后,累加单价得出