【发布时间】:2013-04-28 03:46:04
【问题描述】:
我有一个需要打印的徽标列表(最多 4 种颜色)。每个徽标都需要设置时间来混合该徽标所需的油漆。如果我可以对数据进行排序,使使用相同颜色的两个徽标背靠背,那么我们就不必混合尽可能多的颜色,从而节省金钱和时间。颜料一旦混合,使用寿命有限。
我正在查看这样的数据集...
红色 | (其他颜色) 红色 |黑色的 (其他颜色) |黑色的它需要按这个顺序结束。这是唯一允许我制作 1 个红色和 1 个黑色的订单。我尝试了一些方法,例如为每种常见颜色分配一个值,但无论如何,我似乎无法正确排序。
我使用了某人基于 TSP 问题编写的以下 SQL 过程。 (http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=172154)
使用以下测试数据我收到了正确的输出
从路线中删除 从城市中删除 插入城市值('Black|Red') 插入城市值(“红色”) 插入城市值(“蓝色”) 插入城市值(“黑色”) 插入城市值('蓝色|红色') -- 数值是颜色不匹配 插入路线值('Black|Red','Red',3) 插入路线值('Black|Red','Black',3) 插入路线值('Red','Black',4) 插入路线值('Blue|Red', 'Red', 3) 插入路线值('Blue|Red', 'Black', 4) 插入路线值('Blue','Red',4) 插入路线值('Blue','Black|Red',4) 插入路线值('Blue','Black',4) 插入路线值('Blue','Blue|Red',3) exec getTSPRoute '黑色' 结果: 黑->黑|红->红->蓝|红->蓝->黑唯一的问题是跑回原来的“城市”(黑色返回开始和结束),我必须选择一个“开始城市”。如果选择了错误的路线,我最终不会得到最优化的路线。
【问题讨论】:
-
反过来的顺序不是也可以吗?
-
您在实践中考虑了多少个徽标? 10、100?一万?
-
您说每个徽标最多四种颜色,所有徽标总共可以有多少种颜色? (有些算法对此非常重要)。
-
为什么在这个例子中(其他颜色)必须制作两次是无关紧要的?
-
我用的是Other Color来表示其他一些不匹配的颜色