关闭

[置顶] 2017华为软件精英挑战赛系列一

标签: java华为软件
266人阅读 评论(0) 收藏 举报

看到题目时,首先就是读懂它。以下就是我对题目的一些分析。

需要解决的问题

在满足所有的住户小区视频播放需求的基本前提下,如何选择视频内容存储服务器放置位置,使得成本最小。

本次赛题通用性描述

网络结构模型:给定一个由若干网络节点(例如路由器、交换机)构成的网络结构无向图,每个节点至少与另外一个节点通过网络链路相连(网络链路特指两个网络节点之间直接相连的网络通路,中间没有其他网络节点,相当于无向图中的一条边),一个节点可以将收到的数据通过网络链路传输给相连的另一个节点,节点本身的转发能力无上限。(网络节点在示例中为黑色圆圈,网络节点仅具有以上所说功能)。

每条链路的网络总带宽不同(例如某条链路的总带宽为10Gbps)。而每条链路承载的视频传输需要按照占用带宽的多少收取对应网络租用费,每条链路的单位租用费均不同(例如某条链路的租用费为1,000元/Gbps,即1K/Gbps)。某条链路上被占用的带宽总和不得超过该链路的总带宽

消费节点:给定的网络结构中有部分网络节点直接连接到小区住户的网络,每个小区住户网络在这个给定的网络结构图中呈现为一个消费节点,不同消费节点的视频带宽消耗需求不同。(在示例中,消费节点表示为红色圆圈)

视频内容服务器:视频内容服务器存放视频内容(如:电影影片、电视剧等),视频内容服务器的视频数据流可以经由网络节点与链路构成的网络路径流向消费节点,视频内容服务器的输出能力没有上限,可以服务多个消费节点,一个消费节点也可以同时从多台视频内容服务器获取视频流。部署一台视频内容服务器需要费用成本(例如300,000元/台,即300K/台),所有服务器的成本均相同。(在示例中,视频服务器表示为绿色圆圈)。

比赛程序内容:请你设计一个程序寻找最优的视频内容服务器部署方案:从网络结构模型中选择一部分网络节点,在其上/附近一对一的部署视频内容服务器,视频内容服务器与对应的这个节点直连,与对应的这个网络节点之间的通信没有带宽限制,也没有通信成本。提供的部署方案需要使得视频流从视频内容服务器经过一些网络节点和链路到达消费节点,满足所有消费节点的视频带宽消耗需求,并使得耗费的总成本(视频内容服务器部署成本+带宽租用成本)最低。部署方案不仅需要包括部署视频内容服务器的节点位置,而且还要包括每个消费节点与所有视频内容服务器之间的网络路径以及路径上占用的带宽。

▌补充说明

1. 两个网络节点之间最多仅存在一条链路,链路上下行方向的网络总带宽相互独立,并且上下行方向的总带宽与网络租用费相同。例如对于网络节点A与B之间的链路,该条链路上的总带宽为10Gbps,单位租用费为1K/Gbps,则表示A->B、B->A两个方向上的网络总带宽分别为10Gbps,并且租用费均为1K/Gbps。如果某条数据流在该链路A->B方向的占用带宽为3Gbps,那么该数据流在该链路的租用费为3K,并且该链路A->B方向的剩余可用带宽为7Gbps。而B->A方向的剩余可用带宽不受该数据流的影响,仍为10Gbps。

2. 每个网络节点最多仅能连接一个消费节点,每个消费节点仅能连接一个网络节点。消费节点与连接的网络节点之间的链路总带宽无限大,并且网络租用费为零。

3. 网络节点数量不超过1000个,每个节点的链路数量不超过20条,消费节点的数量不超过500个。

4. 链路总带宽与单位网络租用费为[0, 100]的整数,视频内容服务器部署成本与消费节点的视频带宽消耗需求为[0,5000]的整数。

5. 部署方案中,网络路径上的占用带宽必须为大于等于0的整数。

6. “满足消费节点的带宽消耗需求”是指输出给消费节点的带宽总和不得小于该消费节点的视频带宽消耗需求。

7. 每个网络节点上最多仅可部署一台视频内容服务器

▌比赛用例示例


上图为A市网络拓扑图,黑色圆圈为网络节点,红色圆圈为消费节点,圆圈内的数字为节点编号。节点之间的连线为网络链路。链路上的标记(x, y)中,x表示链路总带宽(单位为Gbps),y表示每Gbps的网络租用费。消费节点相连链路上的数字为消费节点的带宽消耗需求(单位为Gbps)。

现在假设需要在该网络上部署视频内容服务器,满足所有消费节点的需求(注意:对于任意用例至少存在一个可行解,即在每个消费节点直接相连的网络节点上部署一台服务器)。那么一个成本较低的方案可以如下图所示,其中绿色圆圈表示已部署的视频内容服务器,通往不同消费节点的网络路径用不同颜色标识,并附带了占用带宽的大小:


但该方案的成本不一定是最低的。因此现在需要参赛者提供的程序能够针对不同的比赛用例,给出成本最低的部署方案。


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

2017华为软件精英挑战赛解分析

以下方法初中级样例1s以内,高级样例10s内出最优解——不随机,无启发式,走优化的方法。采用反馈-迭代的方法逼近最优解贴上在各算例上的运行时间以及结果【基本上迭代个10几次就收敛了】 **一开始是为吸引下注意其实不是最优解是近似最优解程序运行过程中截图 思路改图——设置超级源超级汇。源点和所...
  • u011386045
  • u011386045
  • 2017-04-07 14:43
  • 980

2017华为软件精英挑战赛思路分析

声明:这篇博客仅用于(zhang)交(fang)流(wen)学(liang)习,让大家更快的熟悉赛题,不会涉及到具体的算法细节,所以不会影响到前排同学的排名,请不用担心。题目大意有一个无向网络,网路的每条路径有一个带宽容量限制和单位带宽的花费,网路中有一些消费节点,每个消费节点有一个容量需求,现在让...
  • mmy1996
  • mmy1996
  • 2017-03-21 15:59
  • 11870

2016华为软件精英挑战赛总结

还记得当时做这个比赛的时候好多天都是满脑子想着这道题,除了后面没有意义的玄学调参,参加这种比赛还是很锻炼的。在比赛的过程中需要去学算法读论文这都是一种提高吧。这里写篇文章分析一下当时的思路同时也纪念当初付出的努力吧(虽然没进决赛还是有点遗憾的=_=) 题目大意 给一个有向图,有VV(最多600)个...
  • mmy1996
  • mmy1996
  • 2016-08-20 19:52
  • 4281

2017年华为软件精英挑战赛初赛解题思路

2017年华为软件精英挑战赛初赛解题思路  题目链接:http://codecraft.huawei.com/  常规解题思路:网络流(最小费用最大流)+ 启发式搜索算法 + 算法性能优化 1. 最大流最小费用算法        ...
  • xclovecx1314
  • xclovecx1314
  • 2017-06-08 13:43
  • 316

2017 华为软件精英挑战赛——思路、算法简介

2017 华为软件精英挑战赛 初赛赛题 4.5号就结束初赛了,不影响大家的排名,只说大致思路和方法: 正好研一上学期学习了焦永昌教授的《工程优化》,期末的大作业就是遗传算法分割图像的小论文,所以对启发式算法还是比较熟悉的,如果是西电的小伙伴一定要选这个老师的课啊,给分高讲的还好,关键学的东西还有用!...
  • misayaaaaa
  • misayaaaaa
  • 2017-04-04 09:24
  • 1497

2017华为软件精英挑战赛总结

2017华为软件精英挑战赛总结  接触到这个比赛是在今年的3月20号左右,当时比赛以及开始两个礼拜了,不过因为之前也没有参加过类似的算法比赛。我是搞机器学习的,感觉这两类比赛还是有蛮大的区别,一个专注于算法,一个更多的需要处理数据,当然算法也同样重要。更重要的是这次比赛必须用C++和Java来写,对...
  • qq_30981697
  • qq_30981697
  • 2017-04-11 13:08
  • 498

华为软件精英挑战赛2015

华为软件精英挑战赛赛题 点击链接加入群【华为精英比赛】:http://jq.qq.com/?_wv=1027&k=ZSJmVU http://t.cn/RArNwTL 1 编程任务 编写牌手程序,参加德州扑克比赛。 比赛采用无限注德州扑克规则,即:每一轮可加...
  • u012267304
  • u012267304
  • 2015-05-06 11:21
  • 1530

2017华为精英挑战赛总结

大赛官网:http://codecraft.huawei.com/ 赛题解读:http://mp.weixin.qq.com/s/on_l5Rc3Be-DjgUOXftaNw 赛题案例以及编译官方软件包:HUAWEI_Code_Craft_2017_初赛软件包(readme.txt中有详细介绍) &...
  • h532600610
  • h532600610
  • 2017-04-15 12:10
  • 2379

华为软件精英挑战赛2016题解

代码:https://github.com/jinhang/2016_Huawei_SoftWareMatch 前言 赛题源自“未来网络”业务发放中的路由计算问题。算路问题属于基础算法问题,在图论、网络、交通等各个方面均有着广泛的研究与运用,里面不乏一些经典的算法,例如最短路中的广度优先搜索...
  • youdianjinjin
  • youdianjinjin
  • 2016-06-28 20:59
  • 8934

2017 华为软件精英挑战赛

官方题目中的例子,但是我数了下只有44条边,用于测试吧28 44 12 100 0 1 20 1 0 2 16 1 0 3 13 1 0 6 13 2 0 7 25 2 0 8 36 2 0 9 14 2 0 16 8 2 0 26 13 2 1 2 5 2 1 3 11 1 1 15 16 2...
  • firenet1
  • firenet1
  • 2017-03-19 18:40
  • 13673
    个人资料
    • 访问:1604次
    • 积分:92
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档