Ilog Cplex学习历程---可不可…

来源:互联网 发布:朝鲜实力 知乎 编辑:程序博客网 时间:2024/06/10 20:06
      在你学习工作中,可能往往会遇到很多优化问题,希望以较少的成本(目标)完成给定的任务(约束),或者是在充分利用现有资源(约束)从而获得最大的收益(目标)。解决这样的问题大体分两步:建模和求解,当然这不是绝对的,本文主要关注这两个部分。
      ①数学建模
      当你面对一个复杂的业务问题的时候,首先明确想要达到什么样的目标,有哪些约束条件的限制,当然,在建模的过程中你可以查找一些相关的文献,看看怎么建模更合理,能更为贴切的反应这个现实的问题。重点是你通过这些工作之后你已经建立了一个数学模型了,有目标,有约束。接下来,我们要做的就是求解这个模型,得到解决方案。
       ②求解软件---IBM ILOG CPLEX OpitimizationStudio
      cplexIBM公司一款高性能的数学规划问题求解器,可以快速、稳定地求解线性规划、混合整数规划、二次规划等一系列规划问题。由于最近一直在应用cplex,所以记录一下学习过程中的收获。编程时主要用到了建模语言OPL(OptimizationProgramming Language)和非建模语言ILOGScript。这大概也是一个升级打怪的过程吧。
     初级:刚刚接触cplex的时候,可能要求不多,简单地一个目标,几个约束,少量的数据输入,获得解决方案就OK了。这里可能需要考虑进行模型与数据分离,增加代码的通用性。下图中即为参数和模型没有分离,不方便更改参数。

 

     Ilog <wbr>Cplex学习历程---可不可以编循环

      这个实现了之后呢,可能会遇到从Excel或数据库中读取数据,目前只用到了从Excel进行数据的读取;接下来我想让不断改变模型中的参数,然后模型需要循环执行,正是基于这一需求,我又接触到了ILOG脚本语言,利用它,可以进行数据的预处理,改变模型参数重新运行模型以及数据输出处理。
 Ilog <wbr>Cplex学习历程---可不可以编循环
    针对文章中有问题的部分欢迎讨论,共同进步。
参考资料:东北大学,雒兴刚老师,《优化软件与应用》课件;

0 0