最优数字分配

原创 2012年03月27日 16:18:26

 数字分配策略

 

赛题简介:介绍整个赛题的思路和整体要求

最优数字分配策略
比赛题目条件:
假设有2500个数据存储单元,形成为50*50的正方形矩阵。每个数据存储单元允许存储2~5个整数,整数范围为1~70,每个整数使用次数不限。
 
50*50
数据存储单元如下表形式:

1-1

1-2

1-3

1-4

2-1

2-2

2-3

2-4

3-1

3-2

3-3

3-4

4-1

4-2

4-3

4-4

其中1-11-2等表示存储单元在矩阵中的行列位置,也可以将其作为存储单元的名称。
 
比赛题目要求:

  • 1~70的整数按各存储单元的整数个数要求,分配到各数据存储单元中。未按要求分配整数,比赛无成绩,直接出局;
  • 每个存储单元内的整数不能相同且不能相邻。如:122223不能出现在同一个存储单元中。如果违反规则,按下述罚则处理:针对每个存储单元都统计一遍,出现一次相同,结果累加100违约分;出现一次相邻,结果累加50违约分;
  • 每个存储单元与相邻的存储单元内的整数不能相同且不能相邻。如:第2-2存储单元内的整数与第1-11-21-32-12-33-13-23-3存储单元内的整数不能相同且不能相邻。如果违反规则,按下述罚则处理:针对每个存储单元都统计一遍,出现一次相同,结果累加20违约分;出现一次相邻,结果累加10违约分;
  • 每个存储单元与相邻存储单元的相邻存储单元内的整数不能相同。如:第2-2存储单元内的整数与第1-42-43-44-14-24-34-4存储单元内的整数不能相同。如果违反规则,按下述罚则处理:针对每个存储单元都统计一遍,出现一次相同,结果累加1违约分;
  • 各比赛小组自己设计分配算法,在规定时间内(比如1小时)运算分配结果,哪个小组最后的违约分值最低,哪个小组获胜。

 
违约分计算举例:

\

1

2

1

1,3,5

7,9

2

11,12,13

1,4

上表所示为部分存储单元内整数分配结果,违约值计算方法如下:

当前存储单元标识

冲突存储单元标识

当前存储单元违规整数

冲突存储单元违规整数

违约分数

1-1

2-2

1

1

20

1-1

2-2

3

4

10

1-1

2-2

5

4

10

2-2

1-1

1

1

20

2-2

1-1

4

3

10

2-2

1-1

4

5

10

2-1

2-1

11

12

50

2-1

2-1

12

13

50

为了方便计算,同存储单元内(如2-1)的冲突整数按照规则计算一次违约分,相邻存储单元内(如1-12-2)的冲突整数由于参照主体改变会重复计算违约分。最后的总分为所有违约分的总和。
 
评价标准:
本题没有标准答案,完全以运行时间和最后的违约值来评价比赛结果。评审组将随机确定各数据存储单元内的整数个数,分别运行各比赛小组提交的程序,并将各程序在规定的比赛时间内运算的有效分配结果进行违约值统计,然后按违约值由低到高排序,根据违约值排序产生结果排名(如果违约值相同,则用时少的小组排名靠前;违约值相同并且用时相同的小组排名相同)。

 

赛题业务场景:描述赛题相关的真实企业业务背景。从真实场景中,适当简化或者提炼出适合比赛的赛题场景

在移动通信过程中,移动用户的通信内容通过移动台(手机等移动通信设备)转换成频率信号后和通信基站(专门负责收发无线信号的物理通信设备)之间进行交互传输。
  
国家相关部门为各电信运营商划定专门的频率区间,此频率区间按照相关电信标准可平均划分若干等份小的频率区间作为信号传输的最小单位,每个最小单位最多可同时为8个移动用户服务。各电信运营商频率区间不一样,频率带宽也不一样,即可划分的最小单位个数也不一样。
  
因此,各电信运营商需要根据用户密度在有限的频率资源条件下,建立多个通信基站,每个通信基站分配1个或多个服务频率,以服务通信区域内的用户群。同时,如果基站内或邻近的基站使用相同或相近的频率收发信号,这些基站由于距离位置关系,会相互产生不同程度的电磁干扰,导致基站服务的移动用户出现不同程度的通信障碍。
因此,各电信运营商在建立基站并分配服务频率的过程中会充分考虑周围基站的服务频率,使各基站的服务频率要尽量不与周围基站的服务频率相近,以减少通话过程中的干扰问题。在没有更好的频率资源可用的情况下,运营商会考虑重新分配所有基站的服务频率,达到降低干扰的目的。
 
根据业务背景,可按如下所述理解题目条件:
50*50
的存储单元矩阵为某电信运营商服务某区域的50*50个通信基站
1~70
的整数为某电信运营商的可用频率资源
每个存储单元内的整数个数为基站内服务频率个数
比赛要求2~4可理解为同基站内或相邻基站内尽量不能出现频率相近的情况,如果出现这种情况,不同距离位置的基站,会产生不同程度的通话干扰。

 

功能性需求

  • 按题目要求设计分配算法
  • 算法读取各数据存储单元内的整数个数,在规定时间内计算并可以人工或自动停止程序产生结果
  • 最终结果可生成分配策略报表
  • 可正确统计最终分配策略的违约结果值
  • 可正确生成违反规则的详细数据报表
  • 可记录开始运算到产生结果的用时

 
输入文件格式(示例):
输出报表格式(示例):

非功能性需求

 

其他限制条件:开发环境、实验平台、开发语言、数据库、编译器等限制条件

 不限

测试数据或平台:提供给参赛者的测试环境和测试数据。(可提供电子档)

无需测试环境,各数据存储单元内的整数个数随机产生。最终根据各参赛小组分配结果,按照统一的评价标准评价各小组成绩。

 

其他要求

 参赛小组需提交源程序、可执行程序及如下文档:

1.      算法描述

2.      编译及运行环境说明

3.      测试数据用例及结果

 

每个单元都是4个整数时,不产生违规;

每个单元都是5个整数时,违规分数2*1915;

随机情形,违规分0~2

最优适应算法

 【问题描述】编写程序,采用最优适应算法实现可变分区存储管理方式的主存分配及回收。设计具体包括:首先构造主存空间分配表,然后完成主存空间的分配和回收;最后编写主函数对所做工作进行测试。【提示】动态构造...
  • zl151
  • zl151
  • 2010年05月26日 21:17
  • 832

求解最佳分配的算法问题

求解算法,出难题了,有没有高手给好算法。
  • e_zhiwen
  • e_zhiwen
  • 2014年02月20日 23:19
  • 3592

内存管理------最优适应算法

                                        最优适应算法【问题描述】编写程序,采用最优适应算法实现可变分区存储管理方式的主存分配及回收。设计具体包括:首先构造主存空...
  • sun_top
  • sun_top
  • 2009年12月20日 16:18
  • 3456

十八、分配问题 [二分图最佳匹配]

分配问题 问题描述: 有n件工作要分配给n个人做。第i个人做第 j件工作产生的效益为 cij 。试设计一个将n件工作分配给n个人做的分配方案,使产生的总效益最大。 编程任务: ...
  • allenjy123
  • allenjy123
  • 2012年04月24日 13:24
  • 1262

二分图的两种算法-最大匹配与最优匹配 poj--1469,2536

1.最大匹配 题目大意:给你p门课程和n个学生,一个学生可以选0门,1门,或者多门课 程,现在要求一个由p个学生组成的集合,满足下列2个条件: (1).每个...
  • jichangzhen
  • jichangzhen
  • 2016年08月21日 16:15
  • 342

内存动态分配的首先适应、最优适应、最坏适应算法的实现(java 版)

public class DynamicAssign { public static void main(String[] args) {  Area[] area = new Area[5];  a...
  • wangtongxiao
  • wangtongxiao
  • 2007年05月07日 00:21
  • 3497

内存动态分配的首先适应、最优适应、最坏适应算法的窗口演示(java版)

          以前写了他的算法描述,这次把他的窗口程序一块写了出来,用 java 写的,感觉还不是那么的完美,但已经能够说明问题了,达到了演示的目的。import javax.swing.*;i...
  • wangtongxiao
  • wangtongxiao
  • 2007年06月03日 14:06
  • 2070

[C++]LeetCode: 103 Jump Game (局部最优和全局最优法)

题目: Given an array of non-negative integers, you are initially positioned at the first index of t...
  • cinderella_niu
  • cinderella_niu
  • 2015年01月17日 12:13
  • 1111

Java 计算数组数字组合最值

输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的和最大的一个。例如输入数组{6, 72, 309},则输出这3个能排成的最小数字为309672,能排出的最大数字为726309...
  • kinglearnjava
  • kinglearnjava
  • 2015年01月04日 20:52
  • 882

分配问题与匈牙利算法

分配问题与匈牙利算法例1假如你是个玩具工厂的销售经理,你现在有三个销售人员要去不同城市见买家。你的销售人员分别在在奥斯丁,得克萨斯州;波士顿、马里兰州;和芝加哥,伊利诺伊州。你想让他们飞往其他三个城市...
  • kevinjqy
  • kevinjqy
  • 2017年01月17日 16:13
  • 4844
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:最优数字分配
举报原因:
原因补充:

(最多只允许输入30个字)