|
经过这段时间的苦练,网上到处google,关于省料算法有点头绪了,至此程序写出来了,但没有达到最优的算法,
在这里希望大家来帮帮忙!
我的思路是这样的,拙见,见t笑了:
首先有这样几条规则:取大优先,长优先短!
我是进行行扫描,没有考虑列扫描,所以在算法上面不是最优的,当然在算法上要进行全面的考虑,这样才能尽量向最优算法靠拢。
所用到的算法有:线性规划,贪婪算法,递归算法
我的算法总结一句话:只顾眼前,不顾后面,逐行扫描,取大优先。(后期:顾全大局,全面扫描,取大与比率同时计算)
第一步:
将所需要的零件与板材尺寸进行预算对比,且放入堆栈
第二步:
取出堆栈中的数据,四舍五入取整,进行逐行扫描
第三步:
进行列扫描,计算取大优先,当余料宽度小于零件时就扫描下一行,最后直到行的高度小于零件的高度时,即扫描完毕!
第四步:
计算坐标值,放入堆栈中。最后画图时取出坐标值便可。
说得比较简单!
(源代码):
同时希望大家努力的项下! |
|