- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
所以我最近对一般算法非常着迷。我最近实现了一个蚁群优化算法来解决 TSP(显然很有趣)。现在我一直在寻找其他要解决的“问题”。现在我想实现一种算法来解决涉及满足百分比要求并低于任意限制的问题。
例如:
用户输入:
1) 限制-IE。可消耗的能量。
2) “染色体”类型-IE。蓝色(亚型 - 靛蓝等),红色(亚型 - 栗色等),黄色(亚型 - 浅黄色等)- 像蓝色这样的每个主要属性都有一个“池”可供选择,其中包含不同的子类型,如靛蓝、浅蓝色、海蓝色等等。-每种颜色子类型都有不同的相关成本。
3) “理想”解决方案所需的类型百分比(可以引入 +/- % 以允许更多种类)。-IE。 10% 红色、30% 蓝色、60% 黄色。
输出:
1) 满足这两个要求的可能的最终解决方案,低于 - 但接近 - 所需的成本并满足父类(super class)型的百分比要求。
举个例子。
这是一个 super 简单的例子,显然在现实中它会比这更复杂。
用户指定费用应如下95 <= 成本 <= 105。
用户选择 25% 蓝色、25% 黄色、50% 红色。偏差 +/- 5%
每种颜色的可用池
蓝色:靛蓝:成本= 25;海蓝色:成本=30;海军蓝:成本 = 75;
黄色:淡黄色:cost = 20;深黄色:成本= 30;超深黄(笑): cost = 75;
红色:栗色:成本= 20;血红:成本= 45;亮红色:cost = 55;
因此算法将运行并返回不同的组合。
组合1:靛蓝、深黄、血红:成本=100:蓝色=25%,黄色=30%,红色=55%。
组合2:海蓝、浅黄、血红:cost = 105:蓝色=~30%,黄色=~20%,红色=~50%
组合3:依此类推。
编辑:第二次编辑
输出将由多组不同的组合组成。
例如,一个解决方案可能包含以下组合:
一个解决方案可以表示为:
组合一:成本=20; 50% 蓝色,25% 黄色,25% 红色;
组合 2:成本 = 30; 10% 蓝色,50% 黄色,40% 红色;
组合 3:成本 = 50; 25% 蓝色,25% 黄色,50% 红色;
解法:=(组合1,组合2,组合3)总成本=100,由x%蓝色,y%黄色,z%红色组成;
将解决方案与需求进行比较,如果接近则保留它,如果不接近则丢弃它。
结束编辑
所以我的问题是。我知道遗传算法会起作用。但是 ACO 的实现是否也有效?例如,蓝色、黄色和红色代表“位置”,那么它们的子类型代表不同的“道路”。
只是想知道什么可能是更有效的解决方案或完全不同的算法。我对这些东西很陌生,一个多星期前才开始阅读。
编辑第一次编辑
我想指定我想要 5 个好的唯一解决方案(5 是任意数字,可以是 3,可以是 20)。
最佳答案
你的颜色问题对我来说似乎很微不足道,我想即使是蛮力也会很快..所以你的蚁群很可能也能解决它:)
关于algorithm - 基于百分比问题的蚁群优化或遗传算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6998205/
如何将 solr 与 heritrix 集成? 我想使用 heritrix 归档一个站点,然后使用 solr 在本地索引和搜索该文件。 谢谢 最佳答案 使用 Solr 进行索引的问题在于它是一个纯文本
我的任务: 创建一个程序来仅使用基元(如三角形或其他东西)复制图片(作为输入给出)。该程序应使用进化算法来创建输出图片。 我的问题: 我需要发明一种算法来创建种群并检查它们(它们与输入图片的匹配程度
我看过几篇文章和文章,建议使用模拟退火等方法来避免局部最小值/最大值问题。 我不明白为什么如果您从足够大的随机人口开始,这将是必要的。 这只是确保初始人口实际上足够大和随机的另一项检查吗?或者这些技术
我是一名优秀的程序员,十分优秀!