庄稼一支花全靠肥当家,肥当好家生产的是绿色食品,当不好家生产的是有害食品。肥管理的好不好关乎百姓健康,农民利益,以及化肥企业的健康发展。版友羽扇子君从事肥的生产与管理,考虑得当然不是食品卫生问题,企业能赚钱那是第一位的。要赚钱,降低成本是一条重要的途径。
版友羽扇子君问化肥配方如何最优化问题,此乃线性规划是也。解决这个问题可以利用Excel的规划求解进行运算。对于多个规划问题的管理,用这个方法有些麻烦,于是羽扇同志问是否可以用Access解决,答案当然是肯定的。因为只要知道其算法,问题就可以解决。
解决这个问题有两个大的方式:第一种方式是用Excel对象将数据导入到Excel表中,通过其“规划求解”运算后,再将数据读回到Access中。在不熟悉线性规划理论情况下,这是一个好的解决问题的思路。第二种方式是直接根据线性规划理论及其算法,编写Access运用程序,在这个方式下,又可分为数据表法和数组法。数组法的通用性更强一些,但是其编制与调试比较麻烦,不够直观。于是我采用的是数据表法解决此问题。
线性规划的运用方面很多,在本例中设计了两个窗体。一个是通用的线性规划窗体,一个是针对羽扇子君问题运用线性规划求解配方最优值的示例窗体。本例中关于线性规划必须用到的数据表、查询、模块以及窗体单独建了一个组。可以将该组涉及到的对象导入你的系统中运用。本例适用于60个自变量以内的线性规划问题求解,由于采用了大M法,价值系数的绝对值限定为小于10000。以上的限制可以通过调整程序中的参数将范围扩大。
线性规划问题比较困难的(特别是对此问题不熟知者)是建立线性规划模型,以及将模型标准化,这个问题是线性规划必须掌握的基本知识,在此不细论。有兴趣者可在网上查阅相关资料。
点击下载此附件
线性规划算法讲解(Excel版):点击下载此附件