【数学建模】day01-线性规划问题
线性规划问题是在一组线性约束条件下,求线性目标函数最大/最小值的问题。这些约束条件有不等式约束、等式约束以及边界约束,这和中学讲的线性规划无异。
此类问题的MATLAB标准形式为:
其中,max问题可以转换为min求解,三个约束条件分别为不等、等式、边界约束。
MATLAB求解函数:
[x,fval]=linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS)
param:
c是目标系数;
A、b对应不等条件;
Aeq、beq对用等式条件;
LB、UB为边界;
x0是求解的初始值;
OPTIONS是控制参数,一般不用。
return:
x向量是使得目标函数最小的x取值;
fval是相应的目标函数最优值,若是由max问题转化为min,还要取反。
例题以及matlab求解:
一、求解线性规划问题
求解的matlab程序如下:
f = [-2;-3;5];
A = [-2,5,-1;1,3,1];
b = [-10;12];
Aeq = [1,1,1];
beq = 7;
lb = [0;0;0];
ub = [inf;inf;inf];
[x,y]=linprog(f,A,b,Aeq,beq,zeros(3,1));
x
y = -y二、其他可以转换为线性规划问题,如目标为绝对值函数,指派问题(匈牙利算法),对偶理论与敏感度分析,在此略过,使用时查阅。
三、应用建模:投资的收益与风险
模型一的求解:
clc,clear
a = 0;
hold on
while a<0.05
c = [-0.05,-0.27,-0.19,-0.185,-0.185]
A = [zeros(4,1),diag([0.025,0.015,0.055,0.026])];
b = a*ones(4,1);
Aeq = [1,1.01,1.02,1.045,1.065];
beq = 1;
LB = zeros(5,1);
[X,Q] = linprog(c,A,b,Aeq,beq,LB);
Q = -Q;
Q
plot(a,Q,'*k');
a = a + 0.001;
end
xlabel('风险水平a');
ylabel('最大收益Q');结果分析:
【数学建模】day01-线性规划问题的更多相关文章
- 【数学建模】线性规划各种问题的Python调包方法
关键词:Python.调包.线性规划.指派问题.运输问题.pulp.混合整数线性规划(MILP) 注:此文章是线性规划的调包实现,具体步骤原理请搜索具体解法. 本文章的各个问题可能会采用多种调用方 ...
- Python数学建模-02.数据导入
数据导入是所有数模编程的第一步,比你想象的更重要. 先要学会一种未必最佳,但是通用.安全.简单.好学的方法. 『Python 数学建模 @ Youcans』带你从数模小白成为国赛达人. 1. 数据导入 ...
- Python小白的数学建模课-03.线性规划
线性规划是很多数模培训讲的第一个算法,算法很简单,思想很深刻. 要通过线性规划问题,理解如何学习数学建模.如何选择编程算法. 『Python小白的数学建模课 @ Youcans』带你从数模小白成为国赛 ...
- BITED数学建模七日谈之二:怎样阅读数学模型教材
今天进入我们数学建模七日谈的第二天:怎样阅读数学建模教材? 大家再学习数学建模这门课程或准备比赛的时候,往往都是从教材开始的,教材的系统性让我们能够很快,很深入地了解前人在数学模型方面已有的研究成果, ...
- Python数学建模-01.新手必读
Python 完全可以满足数学建模的需要. Python 是数学建模的最佳选择之一,而且在其它工作中也无所不能. 『Python 数学建模 @ Youcans』带你从数模小白成为国赛达人. 1. 数学 ...
- Python小白的数学建模课-A1.2021年数维杯C题(运动会优化比赛模式探索)探讨
Python小白的数学建模课 A1-2021年数维杯C题(运动会优化比赛模式探索)探讨. 运动会优化比赛模式问题,是公平分配问题 『Python小白的数学建模课 @ Youcans』带你从数模小白成为 ...
- Python小白的数学建模课-04.整数规划
整数规划与线性规划的差别只是变量的整数约束. 问题区别一点点,难度相差千万里. 选择简单通用的编程方案,让求解器去处理吧. 『Python小白的数学建模课 @ Youcans』带你从数模小白成为国赛达 ...
- Python小白的数学建模课-A1.国赛赛题类型分析
分析赛题类型,才能有的放矢. 评论区留下邮箱地址,送你国奖论文分析 『Python小白的数学建模课 @ Youcans』 带你从数模小白成为国赛达人. 1. 数模竞赛国赛 A题类型分析 年份 题目 要 ...
- Python小白的数学建模课-05.0-1规划
0-1 规划不仅是数模竞赛中的常见题型,也具有重要的现实意义. 双十一促销中网购平台要求二选一,就是互斥的决策问题,可以用 0-1规划建模. 小白学习 0-1 规划,首先要学会识别 0-1规划,学习将 ...
- Python小白的数学建模课-A3.12 个新冠疫情数模竞赛赛题与点评
新冠疫情深刻和全面地影响着社会和生活,已经成为数学建模竞赛的背景帝. 本文收集了与新冠疫情相关的的数学建模竞赛赛题,供大家参考,欢迎收藏关注. 『Python小白的数学建模课 @ Youcans』带你 ...
随机推荐
- vue 热加载问题
今天是使用vue突然发现没有热加载功能了,然后网上查了一下,配置了一些东西,并没有什么用,然后发现电脑FQ影响 vue 热加载 关掉FQ软件就好了,具体原理我也不清
- odoo学习总结
odoo10总结 1.odoo中的向导应用. .py文件 # -*- coding: utf-8 -*-f ...
- ODPS-Java-SDK快速入门
一.简介 核心接口包括:AliyunAccount,MaxCompute(SDK中使用原名ODPS)等常见对象组件 更多参见文档:https://help.aliyun.com/document_de ...
- JS /javascript 解除网页屏蔽右键(无法复制)的代码
javascript:(function() { function R(a){ona = "on"+a; if(window.addEventListener) window.ad ...
- C# Socket的粘包处理
当socket接收到数据后,会根据buffer的大小一点一点的接收数据,比如: 对方发来了1M的数据量过来,但是,本地的buffer只有1024字节,那就代表socket需要重复很多次才能真正收完这逻 ...
- gohost -- go 开发的命令行hosts配置管理工具
前几天在微博上看到有人推荐了lazygit这个工具,让人眼前一亮,什么时候命令行也可以这么抢到了,
- SQL SERVER中的两种常见死锁及解决思路
在sql server中,死锁都与一种锁有关,那就是排它锁(x锁).由于在同一时间对同一个数据库资源只能有一个数据库进程可以拥有排它锁.因此,一旦多个进程都需要获取某个或者同一个数据库资源的排它访问权 ...
- Highchartsjs使用总结及实时动态刷新图
柱状图: $('#container').highcharts({ //突显红色柱: series: [ 523, 345, 785, 565, 843,{'color': 'red','y': 30 ...
- p2394 精度题
题意:输出n/23即可 解法一: 利用高精度的long double直接输出,但由于n的长度不确定,我们要加个限制%12Lf #include <cstdio> int main(){ l ...
- 黑客帝国效果赏析(包含ES6的语法)
首先,看看效果吧. 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset ...










