Task 01:数学建模算法(规划)

线性规划

在这里插入图片描述

matlab中线性规划标准格式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

c = [2; 3; -5];
a = [2, -5, 1; 1, 3, 1];
b = [10; 12];
aeq = [1, 1, 1];
beq = 7;
x = linprog(-c, a, b, aeq, beq, zeros(3, 1))   
% zeros(3, 1)为三行一列零矩阵
value = c'*x
>> practice

Optimal solution found.

x =
    4.5000
    2.5000
         0
value =
   16.5000
>> 

在这里插入图片描述

c = [2; 3; 1];
a = [1, 4, 2; 3, 2, 0];
b = [8; 6];
x = linprog(c, -a, -b, [], [], zeros(3, 1))
value = c'*x

>> practice

Optimal solution found.

x =
    2.0000
         0
    3.0000
value =
    7.0000

在这里插入图片描述

运输问题(产销平衡)

在这里插入图片描述

指派问题

在这里插入图片描述

对偶问题

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

投资的收益和风险

在这里插入图片描述

整数规划

概论

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

分枝定界法

在这里插入图片描述
在这里插入图片描述

c = [40; 90];
a = [9, 7; 7, 20];
b = [56; 70];
x = linprog(-c, a, b, [], [], zeros(2, 1))
value = c'*x

>> test

Optimal solution found.

x =
    4.8092
    1.8168
value =
  355.8779        % 不管整数限定得到的最优解,不符合要求

此时z = 355.8779是最优目标函数值的上界,而x1 = 0,x2 = 0显然是问题的一个整数可行解,此时z = 0,是下界
因x1, x2均为非整数,不满足要求,任选一个进行分枝,设选x1进行分枝,把可行解分成两个子集,x1 ≤ 4.8092 = 4,x2 ≥ 4.8092 = 5

在这里插入图片描述

c = [40; 90];
a = [9, 7; 7, 20; 1, 0];
b = [56; 70; 4];
x = linprog(-c, a, b, [], [], zeros(2, 1))
value = c'*x

>> test

Optimal solution found.

x =
    4.0000
    2.1000
value =
   349

在这里插入图片描述

c = [40; 90];
a = [9, 7; 7, 20; -1, 0];
b = [56; 70; -5];
x = linprog(-c, a, b, [], [], zeros(2, 1))
value = c'*x

>> test

Optimal solution found.

x =
    5.0000
    1.5714
value =
  341.4286

分别对B1,B2再分枝
在这里插入图片描述

0 - 1型整数规划

在这里插入图片描述

蒙特卡洛法(随机取样法)

在这里插入图片描述

非线性规划

在这里插入图片描述

matlab解法

在这里插入图片描述

function f = fun1(x)              % 定义目标函数
f = sum(x.^2) + 8;
function [g, h] = fun2(x)         % 定义非线性约束条件
g = [-x(1) ^ 2 + x(2) - x(3) ^ 2
    x(1) + x(2) ^ 2 + x(3) ^ 3 - 20];
h = [-x(1) - x(2) ^ 2 + 2
    x(2) + 2 * x(3) ^ 2 - 3];

options = optimset('largescale', 'off');
[x, y] = fmincon('fun1', rand(3, 1), [], [], [], [], zeros(3, 1), [], ...
    'fun2', options)

>> example

Local minimum found that satisfies the constraints.

Optimization completed because the objective function is non-decreasing in 
feasible directions, to within the default value of the optimality tolerance,
and constraints are satisfied to within the default value of the constraint tolerance.

<stopping criteria details>

x =
    0.5522
    1.2033
    0.9478
y =
   10.6511

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
动态规划算法数学建模可以按以下步骤进行: 1. 首先,需要明确问题的定义和目标。确定要求解的问题是什么,以及我们希望通过动态规划算法达到什么样的最优解。 2. 然后,我们要定义问题的状态。状态是问题中可能出现的各种情况或阶段,可以用一些变量来表示。这些变量可以是离散的,也可以是连续的。 3. 接下来,我们需要确定状态之间的转移方程。也就是说,我们需要找到从一个状态转移到另一个状态的规律或条件。这些转移方程可以根据问题的特点和要求来确定,通常可以通过递归或迭代的方式得到。 4. 在确定了状态和转移方程后,我们可以建立一个动态规划的递推关系式。这个关系式可以用来计算每个状态的最优值。 5. 最后,我们可以利用动态规划的递推关系式,通过迭代计算的方式,从问题的初始状态一步一步地递推到最终状态,得到最优解。 动态规划算法数学建模可以应用于各种问题,例如最短路径、库存管理、资源分配等。它是一种通用的方法,可以根据具体问题的特点进行调整和优化。通过动态规划算法数学建模,我们可以更方便地求解各种优化问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【数学建模数学建模学习4---动态规划(例题+matlab代码实现)](https://blog.csdn.net/qq_44528283/article/details/118975065)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [智能算法:Fertilization optimization algorithm (FO)施肥优化算法Matlab](https://download.csdn.net/download/weixin_39168167/88275163)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值