前言

线性规划可能看起来很简单,但其中也不乏比较精妙的处理方法。上了数模选修课之后才知道自己原来对建模的理解太浅,只知道想一种方法算出一个结果,而没有仔细考虑结果的合理性与对结果的分析。接下来简单介绍一下线性规划,然后以投资问题做例子进行具体方法的说明。

线性规划简介

投资问题





附matlab源码(linprog)

%M1.m
clear;clc;
original_data=[2.3 0 0 0;9.6 42 2.1 181;18.5 54 3.2 407;49.4 60 60 428;23.9 42 1.5 549;8.1 1.2 7.6 270;14 39 3.4 397;40.7 68 5.6 178;31.2 33.4 3.1 220;33.6 53.3 2.7 475;36.8 40 2.9 248;11.8 31 5.1 195;9 5.5 5.7 320;35 46 2.7 267;9.4 5.3 4.5 328;15 23 7.6 131;];
r=original_data(:,1)/100;%ÀûÂÊ
q=original_data(:,2)/100;%·çÏÕÂÊ
p=original_data(:,3)/100;%·ÑÂÊ
u=original_data(:,4)/100;%ãÐÖµ
M=1e6;
range=0.01:0.01:1;
target=[];
for q_bar=range[x,fval]=linprog((p-r)',diag(q),q_bar*M*ones(1,length(r)),(1+p)',M,zeros(1,length(p)),[]);max_target=-fval;target(end+1)=max_target;
end
plot(range,target);
title('Model 1');
xlabel('q bar');
ylabel('max R');
%M2.m
clear;clc;
original_data=[2.3 0 0 0;9.6 42 2.1 181;18.5 54 3.2 407;49.4 60 60 428;23.9 42 1.5 549;8.1 1.2 7.6 270;14 39 3.4 397;40.7 68 5.6 178;31.2 33.4 3.1 220;33.6 53.3 2.7 475;36.8 40 2.9 248;11.8 31 5.1 195;9 5.5 5.7 320;35 46 2.7 267;9.4 5.3 4.5 328;15 23 7.6 131;];
r=original_data(:,1)/100;%ÀûÂÊ
q=original_data(:,2)/100;%·çÏÕÂÊ
p=original_data(:,3)/100;%·ÑÂÊ
u=original_data(:,4)/100;%ãÐÖµ
M=1e6;
range=0.01:0.01:0.33;
risk_rate=[];
R=[];
for r_bar=rangef=zeros(1,length(p));f(end+1)=1;Aeq=[(1+p)',0];A_temp_1=[(p-r)',0];A_temp_2=diag(q);A=[A_temp_1;[A_temp_2,-1*ones(length(p),1)]];[x,fval]=linprog(f',A,[-r_bar*M;zeros(length(p),1)],Aeq,M,zeros(1,length(p)+1),[]);risk_rate(end+1)=fval/M;R(end+1)=sum((r-p).*x([1:end-1]));
end
subplot(1,2,1);
plot(range,risk_rate*100);
title('Model 2:risk rate--r bar');
xlabel('r bar');
ylabel('risk rate');
subplot(1,2,2);
plot(range,R);
title('Model 2:R--r bar');
xlabel('r bar');
ylabel('R');
%M3.m
clear;clc;
original_data=[2.3 0 0 0;9.6 42 2.1 181;18.5 54 3.2 407;49.4 60 60 428;23.9 42 1.5 549;8.1 1.2 7.6 270;14 39 3.4 397;40.7 68 5.6 178;31.2 33.4 3.1 220;33.6 53.3 2.7 475;36.8 40 2.9 248;11.8 31 5.1 195;9 5.5 5.7 320;35 46 2.7 267;9.4 5.3 4.5 328;15 23 7.6 131;];
r=original_data(:,1)/100;%ÀûÂÊ
q=original_data(:,2)/100;%·çÏÕÂÊ
p=original_data(:,3)/100;%·ÑÂÊ
u=original_data(:,4)/100;%ãÐÖµ
M=1e6;
R=[];
range=0:0.01:1;
for rho=rangef=[(rho-1)*(r-p);rho];A=[diag(q),-1*ones(length(q),1)];b=zeros(length(q),1);Aeq=(1+p)';Aeq(end+1)=0;beq=M;[x,fval]=linprog(f,A,b,Aeq,beq,zeros(length(p)+1,1),[]);R(end+1)=sum((r-p).*x([1:end-1]));
end
plot(range,R);
title('Model 3');
xlabel('rho');
ylabel('R');

希望大家都能在数学建模中找到乐趣!!!而不是仅仅当作一个比赛来看待

数学建模之线性规划学习笔记相关推荐

  1. 数学建模各类算法学习笔记(附matlab代码)

    目录 插值和拟合 线性规划 综合评价1:层次分析法(Analytic Hierarchy Process)AHP 综合评价2:Topsis(优劣解距离法) 最优解问题1:遗传算法Genitic alg ...

  2. 数学建模——BP神经网络学习笔记

    一.BP神经网络简述 人工神经元概述 归纳一下生物神经元传递信息的过程:生物神经元是一个多输入.单输出单元.常用的人工神经元模型可用下图模拟. 当神经元j有多个输入xi(i=1,2,-,m)和单个输出 ...

  3. MOOC数学建模与实验---学习笔记---整理汇总表

  4. 数学建模之线性规划(含MATLAB代码)

    文章目录 数学建模之线性规划 1. 线性规划 1.1 matlab中的标准形式 1.2 可转换为线性规划问题 2. 整数规划 2.1 分支定界算法 2.1.1 分支定界举例 2.1.2 matlab代 ...

  5. 数学建模图论算法学习总结

    数学建模图论算法学习总结 图论基本知识 B站视频: https://www.bilibili.com/video/av18374161/?p=35 https://www.bilibili.com/v ...

  6. 数学建模整理-线性规划、整数规划、非线性规划

    数学建模整理 线性规划 整数规划 整数规划特点 求解方法分类 (1)分枝定界法 (2) 割平面法 (3) 隐枚举法("0-1"整数规划) (4) 匈牙利法 (5) 蒙特卡洛法(随机 ...

  7. 数学建模之线性规划与LINGO编程

    EverydayOneCat 知识点 1.笔记 2.数学规划 数学规划指在一系列客观或主观限制条件下,寻求合理分配有限资源,使所关注的某个或多个指标达到最大(或最小)的数学理论和方法 最优化数学模型的 ...

  8. 【数学建模】线性规划模型MATLAB求解(最优化)

    文章目录 一.算法介绍 二.适用问题 三.算法总结 1.可以转化为线性规划的问题 四.应用场景举例 1. 例1.1: 2. 解: 2. 例1.2: 2. 解: 五.MATLAB操作 六.实际案例(投资 ...

  9. 【数据挖掘】心跳信号分类预测 之 建模调参 —— 学习笔记(四)

    目录 四.建模调参 4.1 内容简介 4.2 模型原理与性质概述 4.2.1 分类模型 4.2.2 时间序列模型 4.2.3 推荐教材 4.3 模型对比与性能评估 4.3.1 逻辑回归 4.3.2 决 ...

最新文章

  1. Python基础知识(第三天)
  2. 【图文解释】快速排序算法
  3. 【C/C++】Linux下使用system()函数一定要谨慎
  4. 8 线程安全且高效的单例模式
  5. 阿里云智能图像识别服务发布
  6. 公司内部项目章程模板
  7. oracle 虚拟机安装mac os,oracle vm virtualbox虚拟机安装mac os x详细图解
  8. 消费品企业,会员营销四大痛点
  9. 某班题库技术分析(1)
  10. could not establish connection to “hostname”
  11. 练习:定义一个方法用于判断一个字符串是否是对称的字符串,并在主方法中测试方法。 * 例如:“abcba“、“上海自来水来自海上“均为对称字符串。
  12. Web项目【用户管理系统】完整版
  13. 学计算机好还是学数学好,大学专业学计算机好还是学数学好
  14. 第三方推广——《互联网运营的知识体系与整体逻辑》笔记(十二)
  15. 开发中的技术选型调研总结
  16. 执行股票交易接口get提交方法如何获取三大指数的股票列表?
  17. 基于UGUI实现类似Excel表格功能
  18. 映射变换(缩放、旋转、剪切)
  19. 怎么开启windows hypervisor platform,解决hypervisor platform消失无法安装的问题
  20. 【C++】读取 .csv / .xlsx 文件中的指定数据(非常实用)

热门文章

  1. 计算机专业课程体系介绍(含学习顺序)非常有利于新手学习
  2. linux恢复硬盘初始状态,初始化Linux数据盘(fdisk)
  3. Python OpenCV 形态学 (六)
  4. 网上点餐系统毕业设计借鉴作品
  5. 庆俞年”大战,真正受损的不是李国庆
  6. 基于知识图谱的语言模型:智能化知识分享与获取
  7. Vue版本echarts 全国地图geo、geo3D
  8. python 安装包、基础学习资料、代码应用示例
  9. 保罗.西蒙氏的斯卡布罗集市(Scarborough Fair)
  10. windows10复制文件需要管理员权限,复制需要管理员权限怎么办