Matlab建模—无约束优化与非线性规划相关算例
数学建模期末复习,撰写博客做总结之用,主要侧重于算例的模型建立与部分代码的实现,其中不足之处望读者多多指正。
文章目录
- 前言
- 非线性规划问题
- 供应与选址
- 问题描述
- 模型建立
- 无约束最优化
- 梯子长度问题
- 问题描述
- 模型建立
- 水槽问题
- 问题描述
- 问题求解
前言
主要复习的是两个问题的数学模型建立的过程,代码实现省略。
非线性规划问题
供应与选址
问题描述
某公司有6个建筑工地要开工,每个工地的位置(用平面坐标系a,b表示,距离单位:km)及水泥日用量d(t)由下表给出.目前有两个临时料场位于A(5,1),B(2,7),日储量各有20t.假设从料场到工地之间均有直线道路相连.
(1)试制定每天的供应计划,即从A,B两料场分别向各工地运送多少水泥,可使总的吨千米数最小.
(2)为了进一步减少吨千米数,打算舍弃两个临时料场,改建两个新的,日储量各为20t,问应建在何处,节省的吨千米数有多大?
模型建立
- 符号说明
工地的位置为( a i , b i a_i,b_i ai,bi),水泥的日用量 d i d_i di,i=1,2……,6;料场位置为( x j , y j x_j,y_j xj,yj),日储量为 e j e_j ej,j=1,2;料场j向工地i运送的水泥量为 X i j X_{ij} Xij. - 问题1模型建立
目标: min f = ∑ j = 1 2 ∑ i = 1 6 X i j ( x j − a i ) 2 + ( y j − b i ) 2 \min f = \sum\limits_{j = 1}^2 {\sum\limits_{i = 1}^6 {{X_{ij}}\sqrt {{{({x_j} - {a_i})}^2} + {{({y_j} - {b_i})}^2}} } } minf=j=1∑2i=1∑6Xij(xj−ai)2+(yj−bi)2
约束: ∑ j = 1 2 X i j = d i , i = 1 , 2 , ⋯ , 6 ∑ i = 1 6 X i j ≤ e j , j = 1 , 2 \begin{array}{l} \sum\limits_{j = 1}^2 {{X_{ij}}} = {d_i},{\rm{ }}i = 1,2, \cdots ,6\\ \sum\limits_{i = 1}^6 {{X_{ij}}} \le {e_j},{\rm{ }}j = 1,2 \end{array} j=1∑2Xij=di,i=1,2,⋯,6i=1∑6Xij≤ej,j=1,2
此时使用临时料场的决策变量为: X i j X_{ij} Xij. - 问题2模型建立
min f = ∑ j = 1 2 ∑ i = 1 6 X i j ( x j − a i ) 2 + ( y j − b i ) 2 \min f = \sum\limits_{j = 1}^2 {\sum\limits_{i = 1}^6 {{X_{ij}}\sqrt {{{({x_j} - {a_i})}^2} + {{({y_j} - {b_i})}^2}} } } minf=j=1∑2i=1∑6Xij(xj−ai)2+(yj−bi)2
s.t. ∑ j = 1 2 X i j = d i , i = 1 , 2 , ⋯ , 6 ∑ 6 X i j ≤ e j , j = 1 , 2 \begin{array}{l} \text { s.t. } \sum_{j=1}^{2} X_{i j}=d_{i}, \quad i=1,2, \cdots, 6 \\ \sum^{6} X_{i j} \leq e_{j}, \quad j=1,2 \end{array} s.t. ∑j=12Xij=di,i=1,2,⋯,6∑6Xij≤ej,j=1,2
此时不使用临时料场,决策变量变为: X i j 、 x j 、 y j X_{ij}、x_j、y_j Xij、xj、yj。
无约束最优化
梯子长度问题
问题描述
一楼房的后面是一个很大的花园. 在花园中紧靠着楼房有一个温室, 高3m,温室伸入花园2m,温室正上方是楼房的窗台. 清洁工打扫窗台周围,他得用梯子越过温室,一头放在花园中,一头靠在楼房的墙上. 因为温室是不能承受梯子压力的,所以梯子太短是不行的.现清洁工只有一架7m长的梯子,你认为它能达到要求吗? 能满足要求的梯子的最小长度为多少?
模型建立
符号假设
L : 梯 子 的 长 度 L:梯子的长度 L:梯子的长度;
L 1 : 梯 子 的 上 半 段 L_1:梯子的上半段 L1:梯子的上半段;
L 2 : 梯 子 的 下 半 段 L_2:梯子的下半段 L2:梯子的下半段;
θ : 梯 子 与 地 面 的 夹 角 \theta:梯子与地面的夹角 θ:梯子与地面的夹角;模型建立
据题意易得: L = L 1 + L 2 ( 1 ) ; L=L_1+L_2(1); L=L1+L2(1);
其中:
L 1 = a c o s ( θ ) ( 2 ) L_1=\frac{a}{cos(\theta)}(2) L1=cos(θ)a(2)
L 2 = b s i n ( θ ) ( 3 ) L_2=\frac{b}{sin(\theta)}(3) L2=sin(θ)b(3)
综合(1)、(2)、(3)式可得原式可等效为:
m i n L = 2 c o s ( θ ) + 3 s i n ( θ ) 其 中 : 0 ≤ θ ≤ π 2 min L=\frac{2}{cos(\theta)}+\frac{3}{sin(\theta)}其中:0\leq\theta\leq\frac{\pi}{2} minL=cos(θ)2+sin(θ)3其中:0≤θ≤2π数学方式求:
对 θ \theta θ求导令导数为零,其为零时可得对应的最值,再求对应的二阶导可判断其的取值情况。Matlab求取:
%梯子问题
a=2;
b=3;
str=[num2str(a),'/cos(x)+',num2str(b),'/sin(x)'];
f=str2func(['@(x)',str])
ezplot(str,[0,pi/2])
[x,fmin]=fminsearch(f,1)
x =0.8527
fmin =7.0235
即梯子的最小长度为7.0235米。
水槽问题
问题描述
有边长为3m的正方形铁板,在四个角剪去相等的正方形以制成方形无盖水槽,问如何剪法使水槽的容积最大?
问题求解
- 模型
设裁剪的正方形的边长为 x x x,这水槽的容积为: ( 3 − 2 x ) 2 x (3-2x)^2x (3−2x)2x
可建立无约束优化模型:min y = ( 3 − 2 x 2 ) x y=(3 - 2{x^2})x y=(3−2x2)x 0<x<1.5; - Matlab求解
%铁板问题
f='-(3-2*x).^2*x'
[x,fval]=fminbnd(f,0,1.5);
ezplot(f,[0,1.5])xmax=xfmax=-fval
- 结果
xmax =0.5000
fmax =2.0000
可得边长取0.5m取得最大容积 2 m 3 2m^3 2m3
Matlab建模—无约束优化与非线性规划相关算例相关推荐
- matlab解决无约束优化问题
无约束优化问题 要用到的数学知识: 1.向量范数与矩阵范数 2.多元函数梯度与Hessian阵 3.凸集与凸函数 特别要提示的是:如果该函数为凸函数,那么它有且仅有一个最优点,如果它的值不在无穷处,我 ...
- MATLAB机器学习系列-3:BP神经网络算例实现
BP神经网络 BP神经网络是前连接神经网络中的一种,BP指的是训练方法是误差反向传播Backpropagation,要求激活函数是可导的. 数据归一化 什么是归一化? 将数据映射到[0, 1]或[-1 ...
- Matlab实现自适应动态规划多层神经网络的算例汇总
使用MATLAB实现自适应动态规划(ADP)多层神经网络的算例,包括扭摆系统.仿射非线性算例以及"质量-弹簧-阻尼"系统.代码有偿,如有需求请私信联系. 扭摆系统 (torsion ...
- matlab强化学习算例理/菜鸟理解1——双足机器人行走算例
目录 matlab双足机器人强化学习算例介绍 强化学习的一些基础理解 菜鸟对一些名词的理解 matlab强化学习库介绍 双足机器人算例逻辑盘点 如何改写算例做自己的强化学习. %写在前面: 本人大四狗 ...
- Python os.path() 模块 详解 附算例
Python os.path() 模块 函数 说明 os.path.abspath(path) 返回绝对路径 os.path.basename(path) 返回文件名 os.path.commonpr ...
- matlab求心率变异性的程序,心率变异性及其相关算法的实现
<心率变异性及其相关算法的实现>由会员分享,可在线阅读,更多相关<心率变异性及其相关算法的实现(34页珍藏版)>请在人人文库网上搜索. 1.结题报告,心率变异性及其相关算法的实 ...
- matlab某分子由25个原子组成,清华大学数学实验-实验7无约束优化1
数学实验 实验 7 无约束优化 实验 7 无约束优化 生医 0 王言 2010013212 实验目的 1 掌握用 MATLAB 优化工具箱的基本用法 对不同算法进行初步分析 比较 2 练习用无约束优化 ...
- matlab某分子由25个原子组成,清华大学数学实验实验7无约束优化1
清华大学数学实验实验7无约束优化1 (8页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.9 积分 实验7无约束优化生医0 王言 2010013212 ...
- 基于matlab异步电机 s函数,建立电机状态方程的S 函数和仿真模)基于MATLAB的无刷双馈电机建模与仿真...
MATLAB的无刷双馈电机 建模与仿真 第29卷 第6期 2002年12月湖 南 大 学 学 报 (自然科学版)JournalofHunanUniversity(NaturalSciencesEdit ...
最新文章
- python蜡烛图预测_python tushare股票K线蜡烛图绘制
- matlba 正交基
- Spring Cloud Alibaba - 19 Nacos Config配置中心加载不同微服务的通用配置的两种方式
- 为什么说嵌入式开发比单片机要难很多?
- 三菱fx2n64mr说明书_FX2N-64MR-001原理及应用三菱FX2N-64MR-001使用说明书 - 三菱
- 现在比较流行的一种新的清除浮动的方法
- JsTree中节点添加CheckBox 以及 单选的实现
- 互相引用 spring_Spring-bean的几种循环依赖方式
- Outlook2013 邮件签名设置
- [Serializable]在C#中的作用,.NET 中的对象序列化
- 3A(AF AE AWB)综述
- 在单核CPU下,有必要存在多线程吗?
- 讯飞机器翻译质量评估挑战赛Baseline(PaddlePaddle)
- Android计步模块优化(今日步数)
- 学思录(一):带着信息的角度去学习
- matlab主成分分析散点图_主成分分析(PCA)及其在MATLAB中的实现
- 想设计一个母亲节小程序c语言,用小程序做一张精美海报,对母亲说一句:祝您母亲节快乐!...
- linux下usb充电问题,如何解决在Ubuntu上iPad不能充电的问题
- Android入门篇(一)了解androidstudio开发软件
- 记一次 Intellij IDEA 的外观改造过程 - 好看的代码样式 + 炫酷的键入效果