查看: 31368|回复: 90

配方软件再揭秘——配方算法问题

  [复制链接]
发表于 2008-2-18 12:10:18 | 显示全部楼层 |阅读模式
前一段时间谈了关于配方软件数据的问题,得到广大网友的热心回复,今天再谈谈算法上的一些看法。
      目前用于做配方软件的算法都是基于线性规划的。经过一系列的修改又产生了所谓的多配方套算、目标规划和模糊规划。但是这些最核心的算法仍然是线性规划。虽然这些算法都有一定的特色和优越性,但是,他们仍然具备线性规划本身最根本的劣势。实质上,可以这么理解,线性规划是算法发展的里程碑,后面的所谓目标规划和模糊规划都仅仅是进行小小的修改,而并不具有划时代的意义。多配方套算则仅仅是改变了线性规划的条件和输出的方式而已,实质就是线性规划。
       我们简单看一下这几种算法就可以得出合理的结论。
      
1,线性规划
       线性规划是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法.在经济管理、交通运输、工农业生产等经济活动中,提高经济效果是人们不可缺少的要求,而提高经济效果一般通过两种途径:一是技术方面的改进,例如改善生产工艺,使用新设备和新型原材料。二是生产组织与计划的改进,即合理安排人力物力资源。线性规划所研究的是:在一定条件下,合理安排人力物力等资源,使经济效果达到最好。
       一般地,求线性目标函数在线性约束条件下的最大值或最小值的问题,统称为线性规划问题。满足线性约束条件的解叫做可行解,由所有可行解组成的集合叫做可行域。
       线性规划问题的数学模型的一般形式:
     (1)列出约束条件及目标函数
     (2)画出约束条件所表示的可行域
     (3)在可行域内求目标函数的最优解
       正是因为利用线性规划可以合理配置资源,从它问世以来,很快就被利用来进行饲料配方设计。它可以使满足营养指标和饲料原料使用上下限多个约束条件的情况下,给出最小成本的配方。
2目标规划
       线性规划模型只考虑了单一目标,并且所有约束都要绝对满足的情形。然而,很多问题具有不同衡量单位的多重目标。这样建立一个综合的单一目标即使可能的话,也非常困难。
       目标规划是线性规划的一种变异形式,它容许处理不同层次的相互冲突的多个目标。各目标是分等级的。按优先级处理。在求解过程中,不能牺牲高等级的目标来满足低等级的目标。解决这个问题相当于把高等级目标当作低等级目标的约束,解一系列嵌套的线性规划问题。线性规划是要使单一目标最优化,而目标规划则是要使对目标体系的偏差最小。这样得出的解称为满意解。因为并不一定要满足所有目标,而是要尽量接近目标。
       目标函数仅包含偏差变量(即对目标或正或负的偏差),在同一优先级的偏差变量中,还可以赋予偏差权数以表示其相对重要程度。其目标则是在考虑优先级的前提下,使各优先级的偏差之和最小。所有的约束都是等式约束,包括正的或负的偏差变量以及决策变量。
       饲料配方设计有时候也和目标规划相类似,一些条件无法满足的情况下,设计者会根据各个营养要素的重要性,进行相应的取舍,从而得到一个比较满意的配方。
3模糊线性规划
       模糊线性规划是在线性规划及加入伸缩量之后线性规划的基础上构造一新的线性规划。它能根据原线性规划各项营养成分及原料的影子价格自动按用户给出的伸缩量调整配方,从而能得到一个成本低,且又满足要求的合理配方。模糊线性规划期望模拟有经验的配方师对线性规划配方进行调整的过程,但是,实质上有经验的配方师调整配方的时候并非完全按照事先确定所谓伸缩变量的规则来调整配方,因而,模糊线性规划也是不能完全得出优秀配方师一样的结果的。

4三种计算方法的比较
       三种算法中,计算最为复杂的是模糊线性规划,其次是目标规划。后面两种都是从线性规划发展而来。
       从上面的简述可以看出,三者最大的不同不在于计算方法,其实核心的计算方法都一样,都是线性规划。而后两者之所以能够区别于前者,其主要原因是引入了伸缩变量,也就是说,线性规划的计算条件是刚性的,而后两者的计算条件却可以在计算中调整。而目标规划和模糊线性规划的区别又在于目标规划的弹性变量只能靠人为引入,模糊线性规划却可以根据计算后的影子价格自动调整。
       需要指出的是,无论目标规划和模糊线性规划的伸缩量都必须由使用者在计算前指定。一言以蔽之,伸缩量的指定实质上是对饲养标准和原料使用量的调整。既然要对饲养标准和原料使用量进行调整,使用者就必须对动物营养和饲料科学知识有一定了解才行。所以从这个角度上来讲,永远没有傻瓜软件!对动物营养和饲料学知识毫无了解的人,在任何配方软件上都无法配出优秀的配方来!
       我们目前的使用中,无论是目标规划还是模糊线性规划,使用者一般都会追求最低成本,由于在刚性条件下,线性规划的最优解已经是成本最低的值,毫无疑问,目标规划和模糊线性规划都是并且只能通过牺牲营养指标的满足程度来获得更低成本。就笔者而言,我一般自己调整饲养标准和原料的添加比例用线性规划按照我自己的意愿来进行配方设计,而不是直接使用目标规划和模糊线性规划。
5三种算法的弊端
       因为这三种算法的核心都是线性规划,而线性规划的目标是获得最理想的结果。如果不人为设置某些常用原料的使用量,可能会因为原料价格的小小波动导致某种原料的使用与否,这样的话,动物对原料的剧烈变动不一定能适应。即便动物能够承受,一个厂家也没有那么大的仓储来满足原料选择的迅速变动。
       另外,这三种算法都是以获得单位营养浓度成本最低为原则计算的,实际上动物生产中饲料营养素浓度是可以在一定范围内变化的(需要指出的是,这种变化应该是按照预先设定的模型按比例变化,并非单独降低或者提高某个指标,如果营养素之间的比例偏离已经成熟的模型太远来求得配方成本下降,从而期望达到生产效益最高,那只是缘木求鱼,一厢情愿的单相思!那种调整最终只能导致营养素的浪费和总体成本的上升。当然我并不反对对已知模型进行适当修改来进行配方),而我们选择的参与计算的那个营养素浓度值得到的配方却不一定是性价比最高的,真正性价比最高的配方可能会略微提高或者降低营养素浓度才能达到(大概就和所谓的效益配方相当)。这也是线性规划为基础的所有算法的最大弊端!因为目前的线性规划还不能把某种营养素和价格之比(这个比值我们暂且把它叫做性价比)作为线性规划的目标!也就是说,纯粹的线性规划程序无法得到效益配方!这也是目前流行的以线性规划为基础的所有配方软件的最大,而又最无奈的事情!当然事情也并非如此绝对悲观!优秀的软件工程师可以通过变通的方法来使软件计算出最为接近最佳效益配方的配方。当然这必须是以牺牲更多运算时间作为代价的。
       经过以上分析,我们可以来看看这些流行的配方软件。我经常为某些软件动不动就声称自己的算法很好,很合理,最佳等等说辞感到很可笑。第一,就线性规划程序来讲,实质上已经十分成熟,随便找本《运筹学》书籍都能找到多种语言编写的标准参考程序。第二,从编写程序的角度,我个人认为制作配方软件的工程师基本上都没有达到EXCEL,Matlab,SAS等专业软件的程度,特别是Matlab和SAS更是聚集了一大批以研究算法自动化为特长的专业高手,利用他们的成果倒是有可能,真正要超越他们,可能就是有点自不量力了。当然饲料配方不是导弹原子弹,更不是嫦娥,它所要求的精度并不是特别高,所以也没必要去苛求绝对精准!

饲料配方软件揭秘——数据库

http://www.xumuren.com/thread-154713-1-1.html
中国畜牧人网站微信公众号
版权声明:本文内容来源互联网,仅供畜牧人网友学习,文章及图片版权归原作者所有,如果有侵犯到您的权利,请及时联系我们删除(010-82893169-805)。
发表于 2008-2-18 12:39:55 | 显示全部楼层

配方软件再揭秘——配方算法问题

多谢:huahua:
发表于 2008-2-18 13:22:12 | 显示全部楼层
楼主说得太对了!多谢楼主的精辟见解!
发表于 2008-2-18 13:29:19 | 显示全部楼层
对动物营养和饲料学知识毫无了解的人,在任何配方软件上都无法配出优秀的配方来!
其实根本没有所谓最好的配方,适合自己的才是最好的。
发表于 2008-2-18 13:34:52 | 显示全部楼层
配方软件只是配方师的工具而已,不必看得太重。
发表于 2008-2-18 14:02:12 | 显示全部楼层
楼主能留个联系方法么??有好的资料的话,能发直接发给我么?我的邮箱:liliangm4837@126.com
 楼主| 发表于 2008-2-18 14:06:06 | 显示全部楼层

联系方式

我发的东西都是自己的想法。喜欢交朋友的可以和我联系:电话:13880090611
                         028-66155733
               邮箱:yilisheng@yahoo.cn
发表于 2008-2-18 14:35:30 | 显示全部楼层

回复 楼主 的帖子

有道理!!!!!!!!!!!
发表于 2008-2-18 22:08:17 | 显示全部楼层
多谢:huahua:
发表于 2008-2-18 22:37:51 | 显示全部楼层
好,有条件能结合国内外一些配方软件进行综述更喜欢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

发布主题 快速回复 返回列表 联系我们

关于社区|广告合作|联系我们|帮助中心|小黑屋|手机版| 京公网安备 11010802025824号

北京宏牧伟业网络科技有限公司 版权所有(京ICP备11016518号-1

Powered by Discuz! X3.4  © 2001-2021 Comsenz Inc. GMT+8, 2024-5-19 21:25, 技术支持:温州诸葛云网络科技有限公司