电话:0531-88918889 传真:0531-88918886 Email: kefu@queek.com

《极限切割2009专业版》开发历程回顾

考察一款产品的发展史,是了解这款产品的一个很好的方式。本文介绍的就是《极限切割》这款威力强大的软件传奇的发展过程。

序,排料算法原理

一、从侦探说起

如果你是侦探,为迅速抓住凶犯,你会对全地球的人类逐一进行排查吗?

你一天工作24小时,每小时排查一个人的话,大概需要60万年来完成这件工作。

因此,你必须排出不可能作案的人,仅仅把目光聚集在极少数重点怀疑对象上。

二、如何找到“最优”的排料方案?

粗略算了一下,一个100个零件的排料任务,如果计算机每秒钟能比较1000个方案的话,大概需要10^100年(也就是1后面大概有100个零,远远超过我们宇宙的年龄)才能从中选出最优的排料方案。

如果打算在数分钟内完成搜索任务,我们几乎要忽略全部排料方案,仅仅在一个很小的搜索范围内寻找“最优”解。

这个搜索范围仅占全部范围的0.0000...0001%,小数点后面大概有100个零。呵呵,你大概猜到,如果算法稍有不慎,我们倾力抓捕的最优方案就会“漏网”。如何确保“凶犯”确实落在在我们这个如此微小的“包围圈”内?这就是套料算法要提供的技术。

《极限切割》的发展就是一个缩小“包围圈”和提高“抓捕率”的历程。本文将以此为线索,向大家介绍这款软件开发的真实经历,了解《极限切割》从跚跚学步,到逐步发展成熟的过程,从而更好地欣赏它强悍的搜索能力。

2003年,初生牛犊

中国有句俗话,“初生牛犊不怕虎!”

第一个版本是2003年秋天在一家小旅馆开发出来的,那个时候,我们正在一家企业实施一个ERP项目。

开发完成后,就匆匆扔到了互联网上,根本没有考虑是否有人会买,也没有考虑是否会有比我们做得还好的软件。接下来我们要面对的数年艰苦的研发历程已经开场,而我们却浑然不知。

当时的算法处在什么水平呢?正如引言所述,100个零件需要10^100年才能计算完成——很可笑的成果,我们当时却认为理所当然。好我们来做一个标记,记下这个时候100个零件所需的计算时间:

2003能力指数 T = 10^100年

 

2004年,牛刀小试

不久,香港一家客户发现了我们这款软件,表示出极大的兴趣,并提出了很多建设性意见。

我们发现原来的算法效率确实太低了,其实许多排料方式根本就没有价值做处理。就像你去美国寻找一名中国人,满大街的蓝眼睛黄头发的白种人我们根本不用理睬,因为这些白人根本不会是你寻找的对象。

改进后的算发速度明显提高,我们将产品命名为《极限切割S4》。

说明:《极限切割S4》奠定了最初版本的界面风格,随后的各个版本,继续保持并简化这种风格。

2004年是一个不错的开端,毕竟开始有客户了。但是,我们尚不知竞争对手的厉害。

老网页推荐:黑格极限切割S4专题

2004能力指数 T = 20分钟

2005年,初露锋芒

2005年初,上海客户对算法提出了一个非常尖锐的问题,抱怨算法在计算第一张排料图的时候,完全没有考虑后续的排料图可能遇到的困境,导致第一张排料图很理想,而后续的排料图则排得很不理想。如果第一张排料方案稍微降低一点出材率,后续的排料图就有可能非常令人满意,从而导致整体方案效果有很大的提升。

有一点象下棋,2004年的算法只看一步棋,不考虑后续步骤。这种算法叫做“贪心算法”。

2005年五一节,我们推出了《极限切割2005》这套里程碑式的软件。从这个版本开始,我们的算法以整体最优化技术为核心了。只“看一步棋”的阶段过去了。

由于采用了整体最优化技术,算法对最优化目标定位更准确,从而减少了无效搜索范围,无论计算结果还是计算时间,都有了明显进步。

2005年《极限切割》初步让我们感受到市场的甜头,算法也有了质的提升。我们在2005年所采用的理论一直延续到2008年秋天生命才走到尽头。这期间研究的种种新计算技术,无法获取质的突破。

老网页推荐:震撼测试:《极限切割 2005》性能纵览!!!

2005能力指数 T = 10分钟

2006年,创造经典

2005年我们发现排料问题实际上可以归结为“n维空间最优划分”问题,如果能设计出算法,那么一维的线材(型材)、二维的板材(包括卷板)、三维的坯材开料问题,都可以统一成一个算法。于是2005年秋天,《极限切割2006》应运而生。

界面简洁,操作顺手,功能强大的极限切割2006

应该说《极限切割2006》在拓广应用领域方面力度非常大,推出了很多有价值的功能,许多功能属于独创设计。例如:

  • 多维通用算法——支持一维、二维、三维开料算法。

  • 手工排料——非常强悍的功能,至今无人超越其设计。

  • 组件式架构——非常灵活的系统框架设计,为后续定制开发,或OEM集成奠定了基础。

  • 余料优化处理技术——余料优化初步形成理论,2008年我们发明余料优化处理更完善的理论。

  • 多材质混合计算——允许一个任务中混合多种材质。

《极限切割2006》是一个非常经典的里程碑,其投放市场后,一直活跃三个年头,才被更强悍的新一代产品所替代。

老网页推荐:《极限切割2006》产品专区

2006能力指数 T = 5分钟

2007年,潜心研发

随着《极限切割2006》市场占有率日趋稳定,我们开始有精力仔细考察国内外竞争对手的技术特点了。不可否认,从竞争对手那里,我们发现了自己的许多不足,一个历时三年的套料算法的研发项目自2006年就悄悄开始了。

2007年是我们最困惑的一年,开发了几套新算法,都无功而返。一个新算法即使不考虑理论性研究的过程,纯编写代码就需要2个月的时间。经历如此长期的艰苦努力而看不到任何曙光,我们的研发团队一时间笼罩上一重重阴影。

最困扰我们的问题是,当零件数量比较多的时候(一般指零件规格超过500种,总数量超过5000件),从直觉上看,由于排料方案很多,因此,应该很容易得到出材率很高的方案。但当时的实际情况是,海量数据的切割任务,不仅计算速度慢,而且计算结果也不理想。这与我们的主观感觉截然相反。

考察了几款国外的软件,虽然他们并未达到我们理想的境界,但是,在零件规格有数百种时,计算速度基本上仍能控制在20分钟以内。这对于许多用户,还是可以接受的。

我们感觉,一定有更好的计算方法等待我们去发现。我们搜集了国际上有关该类问题的大部分文献,认真分析各种解决方案的优势和缺陷。尽管如此,所有的试验仍无法超越《极限切割2006》所建立的标杆。

2007——令我们研发团队最为困扰和沮丧的一年!

2008年,厚积而薄发

2008年初,我们与贝加莱(B&R,奥地利)公司签约,研发一套数控玻璃切割系统软件。四月份,我们的设计顺利地参加了北京国际玻璃工业博览会。

研发小组部分成员在北京国际玻璃工业博览会上

数控玻璃切割系统的成功开发,使得我们顺利进入数控切割领域。同时,也有机会接触到更多的同类软件。我们分门别类地研究了各类软件的特点,总结出了许多有价值的经验,结合我们掌握的最新数学领域的相关理论,一种突破性的计算方法的雏形开始展现在我们的心中。

2008年秋天,一个成功的算法终于横空出世,我们的算法研究终于获得重大突破。于是《极限切割2009》的开发在此基础上启动了。

新算法彻底解决了海量数据的计算问题。它的速度有多快?有一家客户给出的实际测试表明,900种不同规格,总数量40万件的开料任务,新算法2分钟就能计算出结果。如此速度,堪称全球第一!

2008能力指数 T = 1秒

老网页推荐:《极限切割2008异型数控切割版》简介

极限切割-下料软件 专业版

2009年,走向成熟

《极限切割2009专业版》秉承了2006版的许多特点,同时,在很多方面远远超越2006版的功能,产品设计越来越成熟。所有这些进步,主要体现在以下若干方面:

  • 更为漂亮、简洁的界面

  • 更强悍的排料算法

  • 更丰富的配套功能

  • 系统结构设计更为科学——包括支持XML、Access数据库的底层动态数据结构,动态界面定制体系等

《极限切割2009》漂亮、简洁的界面,非常方便操作!

推荐网页:《极限切割2009专业版》功能全面剖析

2009能力指数 T < 1秒

2010年,满怀希望,放眼未来!

随着2010年的到来,《极限切割2009》对我们研发小组来讲已经成为历史。但是我们的使命并未结束,《极限切割》也远远未发展到我们心中所渴求的理想境界。新的一年里,我们确定了两个基本目标:

  • 开发一套更强悍的新一代算法。因为更新的理论我们已经建立,相信这款算法会再次震撼大家!

  • 为玻璃切割用户提供包括门窗设计在内的配套管理软件。相信我们的实力,我们一旦出手,一定能再次创造一个经典的软件产品。

 

一款好的产品,一定要把性能发挥到极致——这是我们愿意投入一生的精力所孜孜追求的技术境界,而《极限切割》就是我们要奉献给大家的倾心之作!

《极限切割》开发组 2010-3-25

 

黑格软件客服电话: 0531-88918889 88918886 李小姐

济南黑格软件有限公司(鲁ICP备05028854号) 2002-2010 版权所有 侵权必究