第十届数学建模新生杯比赛(A题)

问题一:

建立模型:线性规划模型

符号说明

符号含义
a写出甲类作业的数量
b写出乙类作业的数量
z目标值

列出约束条件与目标函数

约束条件:

                           1.  2a+b<10

                            2. a+b<8

                            3 .b<7

目标函数(max):z=4a+3b

调用matlab函数

1.函数介绍:

需要调用linprog函数(如用optimproblem函数要求matlab版本在2017及以上),格式如下:

[x,fval]=linprog(f,a,b,aeq,beq,lb,up,options)

1.x为取得最值时自变量x的取值

2.fval为取得最值时最值的值; f为目标函数,本题中为:z=4a+3b,表示为[4,3](线代知识)

3.a,b为不等约束,其中a为不等约束左边系数,b为不等约束右边系数

4.aeq,beq为等式约束,aeq为等式左边系数,beq为等式右边系数

5.lb,up分别为自变量自身取值范围。本题中a,b取值范围均为[0,+∞]

6.options为使用的方法种类,一般不做更改

7.注意,linprog函数默认求目标函数最小值,所以如果要求最大值需要使目标函数系数乘以-1

8.linprog函数不等约束方程里默认为Ax<b的形式,如果你得出Bx>C的约束方程,需要乘以-1变成(-B)x<-C的形式

调用解题函数代码:

[x,fval]=linprog([-4,-3],[2,1;1,1;0,1],[10;8;7],[0,0;0,0;0,0],[0;0;0],[0,0],[inf,inf]);
fval=-fval

输出结果:

Optimal solution found.
x =

    2.0000
    6.0000
    fval =

    26

代码解释:

1、matlab中linprog函数默认求解目标函数最小值,而题目中为了求解最大值,所以把目标函数系数[4,3]改为[-4,-3],再由fval=-fval求出最大值。

2、由于本题没有等式约束,自变量的取值范围也没有额外要求,所以aeq,beq部分为零矩阵,lb也为零矩阵,ub为无限大。(matlab中inf为+∞),所以上述主要代码也可以缩减为:

[x,fval]=linprog([-4,-3],[2,1;1,1;0,1],[10;8;7])

问题二

建立模型:整数规划模型

 模型建立与求解

符号和建模就不细说了,下面直接分析求解:

分析:由题目可以确定,目标函数是游泳成绩之和,最优解是其最小值。约束条件是每人只能选取一种游泳方式、每种游泳方式只能一人使用。因此自变量可以设成某个人用某种游泳方式(1~20),例如甲的四种游泳方式对应编号1-4,乙的编号对应5-8…自变量的取值为0、1,表示参加与否。

代码如下(matlab):

clc;
clear;
c = [66.8 75.6 87 58.6 ...
    57.2 66 66.4 53 ...
    78 67.8 84.6 59.4 ...
    70 74.2 69.6 57.2 ...
    67.4 71 83.8 62.4];
A = zeros(5,20);
for i = 1:4
    A(1,i)=1;A(2,i+4)=1;A(3,i+8)=1;A(4,i+12)=1;A(5,i+16)=1;
end
b = [1,1,1,1,1]';
Aeq = zeros(4,20);
for i = 0:4;
    Aeq(1,1+4*i)=1;Aeq(2,2+4*i)=1;Aeq(3,3+4*i)=1;Aeq(4,4+4*i)=1;
end
beq = [1,1,1,1];
lb = zeros(1,20);
ub = ones(1,20);
intcon = [1:20];
[x,fval]=intlinprog(c,intcon,A,b,Aeq,beq,lb,ub)

结果:

蝶泳仰泳蛙泳自由泳

问题三

建立模型:灰色预测模型

模型建立与求解

直接分析问题求解了,论文不能像这样写。

解:

 

 

 

 

 代码实现(matlab):

%GM(1,N)
clc;
clear;
x0 = [4383 7625 10500 11316 17818 
    83 131 180 195 306 
    146 212 233 259 404];  % 录入数据
[m,n] = size(x0);
x1_d = cumsum(x0,2);  %累加序列
x11 = x1_d(1,:);  
z11=0.5*(x11(1:end-1)+x11(2:end));%紧邻均值生成
b = [-z11' x1_d(2,2:end)' x1_d(3,2:end)'];
y = x0(1,2:end)';
u = b\y   %参数矩阵
%%引入条件
x20 = [x0(2,:),400];
x30 = [x0(3,:),500];
x21 = cumsum(x20);x31 = cumsum(x30);
for k = 0:length(x21)-1
    x1(k+1) = (x0(1,1)-u(2)/u(1)*x21(k+1)-u(3)/u(1)*x31(k+1)).*exp(-u(1)*k)+u(2)/u(1)*x21(k+1)+u(3)/u(1)*x31(k+1);
end
x10hat = [x1(1),diff(x1)];        %进行差分运算
epsilon = x0(1,:) - x10hat(1:end-1);   %计算残差 
delta = abs(epsilon./x0(1,:));   %计算相对误差  
xhat = x10hat(end)  % 预测最终值

 (注:以上仅为解析,并不是评分标准)

品桃香 运桃忙 是湖南省研究生数学建模B的命要求。 这道题目涉及到品桃香公司运输桃子的问。首先我们需要根据题目给出的数据和条件,建立数学模型来解决这个问。 首先,我们可以将整个过程分为两个部分:品桃香公司的生产和包装部分,以及运输部分。 在生产和包装部分,我们需要确定每个生产线的生产效率,并考虑到生产和包装过程中的损耗率。我们可以通过收集实际数据来计算每个生产线的平均生产率,并结合包装过程中的损耗率来估计每个生产线的总产量。 在运输部分,我们需要考虑到每个运输路径的距离、运输工具的速度和运输的时间。我们可以通过收集实际数据来计算不同路径的平均运输速度,并结合路径长度和运输时间的关系来估计每个运输路径的运输时间。 接下来,我们需要使用数学方法来求解最优解。我们可以使用线性规划或整数线性规划来确定最优的生产和运输方案。通过设定目标函数和约束条件,我们可以使用相应的求解算法来计算最优解。 最后,我们需要进行模型的验证和优化。我们可以使用实际数据和情景来验证模型的可靠性,并根据实际情况进行调整和优化。例如,我们可以考虑到运输过程中的突发状况或限制条件,如交通拥堵或限制运输工具的数量。 总之,湖南省研究生数学建模B 品桃香 运桃忙 需要我们建立数学模型来解决品桃香公司运输桃子的问。通过收集实际数据、使用数学方法和验证优化模型,我们可以得到最优的生产和运输方案,以解决该问
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值