Matlab建模

您所在的位置:网站首页 梯子的有多少款式 Matlab建模

Matlab建模

2023-12-27 09:18| 来源: 网络整理| 查看: 265

数学建模期末复习,撰写博客做总结之用,主要侧重于算例的模型建立与部分代码的实现,其中不足之处望读者多多指正。

文章目录 前言非线性规划问题供应与选址问题描述模型建立 无约束最优化梯子长度问题问题描述模型建立 水槽问题问题描述问题求解

前言

 主要复习的是两个问题的数学模型建立的过程,代码实现省略。

非线性规划问题 供应与选址 问题描述

某公司有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∑2​i=1∑6​Xij​(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∑2​Xij​=di​,i=1,2,⋯,6i=1∑6​Xij​≤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∑2​i=1∑6​Xij​(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=12​Xij​=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


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3