一个困扰了好多天的问题,高手请进!

yuanxinhua 2009-04-08 04:22:58
[color=#FF00FF]有如下数据:

点 距离
A 3
B 2
C 5
.
.
.
Z 4

点A到B之间的距离为:|3-2|=1,B到C的距离为:|2-5|=3...现在的问题是:希望 通过交换各个点的距离的值,想让A到Z之间的 距离值的 总和值 达到最大

即:A到B的距离为1,B到C为3,如何使A...Z他们两两之间的距离 总和 达到最大值 ?
原则是:A...Z各点不动,通过交换 距离的值 来达到目的,只是交换距离3、2、5...4来达到目的

假定如果只有以上A、B、C三个点,那么这3个点要达到 距离最大值 ,交换距离值后的情况应该如下:
A 2
B 5
C 3

因为:|2-5|=3,|5-3|=2,则距离总和值为5,比之前的(之前总和值为4)大,实际上这3个点只能按这种组合可以达到最大值5。

求一个算法,在这个点很多的时候,如何通过计算,得到这些点的 距离值总和 达到最大!最好有例程,谢谢大家!
[/color]
...全文
140 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
amker 2009-04-09
  • 打赏
  • 举报
回复
帮顶
yuanxinhua 2009-04-09
  • 打赏
  • 举报
回复
4楼的老兄说得有些道理,可是这个算法如何用SQL去实现啊?
ai_li7758521 2009-04-08
  • 打赏
  • 举报
回复
难啊,帮顶
yingxuanye1128 2009-04-08
  • 打赏
  • 举报
回复
楼主,我理解了下,这样看行不行:就相当于一个排序,假设楼主要算的点的数量为奇数,就是比如A-C;3个点就有了3个点数,为了达到最大差值那么肯定是要最大值和最小值相邻,就比如A 3 B 2 C 5 就是 3 2 5排序;先取点中最大点数的点放中间,然后两边放其余剩下的点中最小的2个点数的点,然后再取剩余最大的2个点数的点分别放旁边,这时考虑将最小的放最大的旁边,以此交替类推;如果要算的点的数量为偶数则则先选取最大点数的点和最小点数的点排列在中间,然后再取剩余最大和最小的点分别放刚才最小和最大的点数的点旁边(最大和最小的匹配)
A 3 B 2 C 5 D 1 E 7 3 2 5 1 7---3 2 7 5 1----3 2 7 1 5就是这种过程。
A 3 B 2 C 5 D 1 E 7 F 5 3 2 5 1 7 5---3 2 1 7 5 5 --- 3 5 1 7 2 5

没有验证过,不知道是否正确
风_雨_晴 2009-04-08
  • 打赏
  • 举报
回复
mark
Zoezs 2009-04-08
  • 打赏
  • 举报
回复
关注..
ws_hgo 2009-04-08
  • 打赏
  • 举报
回复
关注..
内容概要:本文研究了基于共识的捆绑算法(CBBA)在多智能体系统中的多任务分配问题,重点应用于远程太空船交会与维修的相对运动规划(RPO)任务。通过Matlab代码实现了CBBA算法,解决了多个航天器在复杂空间环境下协同执行交会、对接与维修任务时的任务分配挑战。研究突出该算法在分布式决策、冲突避免与资源优化方面的优势,详细探讨了任务打包、竞标机制与共识达成等核心环节,验证了其在无中央控制器条件下实现高效、鲁棒任务分配的有效性。; 适合人群:具备航天动力学、控制理论、多智能体系统及优化算法基础,从事航天器自主任务规划、分布式协同控制等相关领域的研究生、科研人员及工程师。; 使用场景及目标:① 实现多航天器在通信受限与信息不完整的远程空间环境下的自主任务分配;② 提升RPO任务中路径规划与资源调度的效率与安全性;③ 构建去中心化的多智能体协同框架,增强系统整体鲁棒性与可扩展性。; 阅读建议:建议结合提供的Matlab代码深入理解CBBA算法的实现逻辑,重点关注竞标权重设计、任务冲突消解与共识收敛过程,并可通过调整任务规模、通信拓扑与约束条件进行仿真实验,以全面掌握算法性能与适用边界。

22,297

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧