线性规划-专题多篇

优化求解器的线性规划学习案例。

数学规划求解-线性规划

我们有提供6个案例讲解线性规划(LP)的概念和应用场景,讲解遇到不同问题时,如何分析问题,建模,然后调用优化求解器求解,再利用求解器的结果去解决问题。并提供了10+源代码供参考。

以下会给出两种代码参考入口:

  • 本地版:在MindOpt云上建模求解平台的Notebook中运行,直接本地求解。仅包含Python代码。

  • 天池C/S版:在天池平台的C/S版MindOpt远程服务。C/S版本的教程中会有C/C++/Python的代码,并讲解如何在Linux系统中使用命令行指令来下载内容、新建和编辑代码文件、编译和运行程序。用到cloudshell里的teachme指令查看文档更方便。

    • 该教程Git仓库存储在了Gitee,2023.08.25从code.aliyun迁移,请注意更换线上试运行的地址。

说明

本地运行版(见求解器SDK下载和安装),与C/S版代码的主要区别是不需要给服务器submit和retrieve求解数据,问题建模后直接 .solve 即可。

1. 线性规划LP的概念讲解

线性问题是运筹学中最简单的一类问题,线性规划是实际中应用最广泛的运筹知识。我们都可能用过线性规划的方法,只是不知道这些就是数学上说的“线性规划”。

查看LP概念、练习种植计划问题 >

2. 营养调配:如何吃少花钱又营养丰富

营养调配问题的目标是利用优化模型来设定每日饮食菜单,在满足各类营养的需求同时更能优化总成本。(内含12个C、C++或Python代码)

本地版Python代码 > | C/S版C、C++代码 >

3. 生产调度:Flow Shop 调度优化下界估计问题

Flow Shop 是调度领域中的经典模型:给定一组机器和一批工件,要求解的决策是工件之间的先后顺序,优化的目标为完成所有加工的时间(降低成本)。

本地版Python代码 >

4. 广告流量分配:曝光和转化均衡

在很多视频在线流量调控场景,需要在保证每个视频内容播放量的同时,使得播放总量最大化。如广告、通知、宣发内容等。

本地版Python代码 > | C/S版C代码 >

5. 鲁棒线性回归-预测

回归是一种建立自变量 x(向量)和相关变量 y(标量)之间关系的预测技术。线性回归通常可以用线性函数 y = < a,x > + b 来描述,我们可以估计出 a 和 b 的值。

本地版Python代码 > | C/S版C++代码 >

6. 机器学习:带有L1正则项的SVM多分类问题

分类是机器学习领域中最基本的任务之一。其目的是建立输入向量x与分类变量y之间的映射关系。例如把一张张图片根据其内容分类为“动物”、“植物”等类别。

本地版Python代码 >