§17借助于Matlab用贯序算法求解目标规划问题

合集下载

应用MATLAB工具箱求解规划问题

应用MATLAB工具箱求解规划问题

应用MATLAB 优化工具箱求解规划问题如今,规划类问题是常见的数学建模问题,离散系统的优化问题一般都可以通过规划模型来求解。

用MATLAB 求解规划问题,可以避免手工的烦琐计算,大大提高工作效率和结果的准确性。

MA TLAB 是一种应用于数学计算及计算结果可视化处理的面向对象的高性能计算机语言,它以矩阵和向量为基本数据单位,从而提高程序的向量化程度,提高计算效率,尤其适合于线性规划、整数规划、多元规划、二元规划类问题的算法编写,以及数据拟合、参数估计、插值等数据处理法。

利用MA TLAB 提供的强大的规划模型求解命令,可以简单快速地得到所要的结果。

本文主要对线性规划、非线性规划、整数规划、单目标约束规划以及多目标规划等规划问题在MATLAB 中的实现做比较详细的讲解.线性规划问题线性规划是一种优化方法,MA TLAB 优化工具箱中有现成函数linprog 对标准型LP 问题求解。

线性规划问题是目标函数和约束条件均为线性函数的问题,MATLAB 中线性规划的标准型为:Min f ’x..A x b s t Aeq x beq lb x ub ⋅≤⎧⎪⋅=⎨⎪≤≤⎩其中f 、x 、b 、beq 、lb 、ub 为向量,A 、Aeq 为矩阵。

其他形式的线性规划问题都可经过适当变化化为以上标准型。

线性规划是一种优化方法,MATLAB 优化工具箱中有现成函数linprog 对标准型LP 问题求解。

在MATLAB 指令窗口运行help linprog 可以看到所有的函数调用形式,如下:x = linprog(f,A,b) %求min f’x ;s.t. b x A ≤⋅线性规划的最优解x = linprog(f,A,b,Aeq,beq) %等式约束beq x Aeq =⋅,若没有不等式约束,则A=[],b=[]。

若没有等式约束,则Aeq=[],beq=[]x = linprog(f,A,b,Aeq,beq,lb,ub) %指定x 的范围ub x lb ≤≤x = linprog(f,A,b,Aeq,beq,lb,ub,x0) %设置初值x0x = linprog(f,A,b,Aeq,beq,lb,ub,x0,options) % options 为指定优化参数进行最小化[x,fval] = linprog(...) %返回目标函数最优值,即fval= f’x[x,lambda,exitflag] = linprog(...) % lambda 为解x 的Lagrange 乘子[x,lambda,exitflag,output] = linprog(...) % exitflag 为终止迭代的条件[x,fval,exitflag,output,lambda] = linprog(...) % output 为输出优化信息exitflag 描述函数计算的退出条件:若exitflag>0表示函数收敛于解x ,exitflag=0表示目标达到函数估值或迭代的最大次数,exitflag<0表示函数不收敛于解x ;lambda 返回x 处的拉个朗日乘子:lambda.lower 表示下界lb ,lambda.upper 表示上界ub ,lambda.ineqlin 表示线性不等式约束,lambda.eqlin 表示线性等式约束,lambda 中的非0元素表示对应的约束是有效约束;output 返回优化信息:output.iterations 表示迭代次数,output.algorithm 表示使用的运算规则,output.cgiterations 表示PCG 迭代次数。

基于Matlab的动态规划算法的实现及应用

基于Matlab的动态规划算法的实现及应用

基于Matlab的动态规划算法的实现及应用动态规划(Dynamic Programming)是一种用来求解多阶段最优化问题的方法,在许多领域中都得到了广泛的应用。

本文将介绍如何使用Matlab实现动态规划算法,并通过一个具体的应用案例来说明其使用方法和效果。

动态规划算法的基本思想是将一个问题分解成多个阶段,每个阶段的最优解可以通过前一阶段的最优解来计算得到。

具体实现时,需要定义一个状态转移方程来描述问题的阶段之间的关系,以及一个递推公式来计算每个阶段的最优解。

在Matlab中,可以使用矩阵来表示问题的状态和状态转移方程,使用循环结构来进行递推计算。

下面以求解最长递增子序列(Longest Increasing Subsequence)为例来说明动态规划算法在Matlab中的实现和应用。

最长递增子序列是一个经典的动态规划问题,给定一个序列,找出一个最长的子序列,使得子序列中的元素是递增的。

可以使用动态规划算法来求解该问题。

定义一个状态数组dp,其中dp(i)表示以第i个元素结尾的最长递增子序列的长度。

初始化dp数组为1,表示每个元素自身就是一个递增子序列。

然后,使用一个循环结构遍历序列的每个元素,计算以当前元素结尾的最长递增子序列的长度。

具体实现时,需要比较当前元素与之前的元素的关系,如果当前元素大于之前的元素,则可以将当前元素加入到之前的最长递增子序列中,并更新dp(i)为dp(j)+1,其中j为小于i的所有元素的位置。

遍历dp数组,找出其中的最大值,即为整个序列的最长递增子序列的长度。

下面是Matlab代码的实现:```matlabfunction LIS = LongestIncreasingSubsequence(nums)N = length(nums);dp = ones(1, N);for i = 1:Nfor j = 1:i-1if nums(i) > nums(j)dp(i) = max(dp(i), dp(j)+1);endendendLIS = max(dp);end```以上代码定义了一个函数LongestIncreasingSubsequence,输入参数为一个序列nums,输出结果为最长递增子序列的长度LIS。

基于Matlab的动态规划算法的实现及应用

基于Matlab的动态规划算法的实现及应用

基于Matlab的动态规划算法的实现及应用动态规划是一种解决多阶段决策过程的优化技术。

它的主要思想是将问题分成几个阶段,在每个阶段用一个状态来描述问题,然后找到在每个阶段中符合条件的最优状态值,以便决定在一个阶段结束的时候采取什么决策。

在Matlab中,可以非常方便地实现动态规划算法。

这里简要介绍一下基于Matlab的动态规划算法的实现及应用。

首先,我们需要定义状态转移方程。

状态转移方程是动态规划算法的核心,决定了如何从一个状态转移到另一个状态。

例如,我们要用动态规划算法求解一个背包问题,物品的重量为w1,w2,w3,w4,w5,物品的价值为v1,v2,v3,v4,v5,背包的容量为W。

那么状态转移方程可以定义如下:dp(i,j) = max(dp(i-1,j), dp(i-1,j-w(i))+v(i))其中dp(i,j)表示前i个物品放入容量为j的背包中所能得到的最大价值。

i表示物品的数量,j表示背包的容量。

w(i)表示第i个物品的重量,v(i)表示第i个物品的价值。

上式中的max表示在当前状态下,应该选择哪个状态值。

然后我们需要初始化第一个状态dp(1,j),当只考虑第1个物品时,dp(1, j)的值与w(1)和v(1)有关。

当物品数量为0时,dp(i, j)的值为0。

接下来,我们可以使用循环以及状态转移方程来计算出dp(i,j)的值,最终得到最优的解。

在Matlab中,可以利用循环完成状态转移方程的计算,例如:dp(1,:) = (w(1) <= j).*v(1);在上述代码中,利用循环计算每个状态的最大价值。

第一行是初始化第一个状态,即当只有一个物品的时候,dp(1, j)的值为v(1)或0。

第二行是循环计算后续状态的最大价值,根据状态转移方程进行计算。

在实际应用中,动态规划算法可以用于诸如最优路径规划、时间序列分析、机器学习等领域。

例如,在机器学习中,动态规划算法可以用于序列模型的预测和分类问题。

数学建模中规划问题的MATLAB求解

数学建模中规划问题的MATLAB求解
max 和 min 函数, 则以增广目标函数 P ( x, M ) 为目标函数的无约 束极值问题
min P ( x, M )
的最优解 x 也是原问题的最优解。
【例 2-10】求非线性规划问题的解
min f ( x) x1 x2 8
2 x1 x2 0 2 s.t. x1 x2 2 0 x , x 0 1 2
2 2
function g=test(x) M=50000; f=x(1)^2+x(2)^2+8; g=f-M*min(x(1),0)-M*min(x(2),0)-M*min(x(1)^2-x(2),0)... +M*abs(-x(1)-x(2)^2+2);
命令窗输入[x,y]=fminunc('test',rand(2,1))
第二章
规划问题的MATLAB求解
2.1 线性规划 2.2 非线性规划
2.3 整数规划
数学规划模型
序:
规划问题是常见的数学建模问题,离散系统的优化问题 一般都可以通过规划模型来求解。因此快速求解规划问题是 数学建模的基本素质。利用MATLAB提供的规划模型求解命 令,可以快速得到想要的结果。
2.1 线性规划
以下介绍外罚函数法,内罚函数法参考PPT“内罚函数 法”。
设规划模型为 min f ( x)
gi ( x ) 0, i 1 ~ r s.t. hi ( x ) 0, i 1 ~ s k ( x ) 0, i 1 ~ t i
取充分大的数 M 0 ,构造函数 P ( x , M ) f ( x ) M max( g i ( x ), 0) M min( hi ( x ), 0)

用Matlab解法求解线性规划问题

用Matlab解法求解线性规划问题
Matlab实验报告
实验目的:用Matlab解法求解线性规划问题
实验一:
题目:求解线性规划问题:
方法一:Matlab解法
算法设计:
1、先求Z的最小值,再取相反数即为所求的最大值。
2、将第一个约束条件改为 。以便与另外两个约束条件保持不等号方向的一致。
3、根据所给的约束条件,利用x=linprog(c,a,b)求解
求值程序:
c=[-3,-1];
a=[-1,1;1,-2;3,2];
b=[2;2;14];
[x,fval]=linprog(c,a,b)
运行结果:
x =
4.0000
1.0000
fval=-13.0000
结果处理及分析:当x1=4 , x2=1时,(-Z)取最小值-13,Z取最大值13.
方法二:图像法
程序代码:
b=[180;200];
aeq=[];
beq=[];
vlb=[0;0;0];
vub=[];
[x,fval]=linprog(c,a,b,aeq,beq,vlb,vub)
maxz=-fval
运行结果:
x =
34.0000
0.0000
44.0000
fval =
-584.0000
maxz =
584.0000
x=-4:1:4;
y1=x-2;
y2=2*x+2;
y3=1/3*(14-2*x);
y4=1/3*(13-x);
plot(x,y1,x,y2,x,y3,x,y4,’:’)
经过对直线的适度调整后,得到图像为:
结果处理及分析:根据约束条件,星型图案所在的闭合三角形为可行域,易知,蓝色虚线代表的目标函数过A(1,4)时,Z取最大值13。

基于Matlab的动态规划算法的实现及应用

基于Matlab的动态规划算法的实现及应用

基于Matlab的动态规划算法的实现及应用动态规划算法是解决许多计算问题的有效方法,它可以用于组合优化、资源分配和时间序列分析等方面。

Matlab是一种高级计算软件,提供了许多内置函数,使得动态规划算法的实现变得简单。

一、动态规划算法的基本思想动态规划算法是一种优化技术,可以用于解决一些复杂的计算问题。

它的基本思想是把一个大问题分解成一系列子问题,通过解决子问题得到整体的最优解。

在动态规划算法中,通常使用递推式来描述问题的最优解。

在Matlab中,动态规划算法的实现通常包括以下几个步骤:1.定义状态变量:根据问题的特性,定义一组状态变量,用于描述问题的状态。

2.制定状态转移方程:根据问题的条件和规则,制定一组状态转移方程,用于计算问题的最优解。

3.构建转移矩阵:将状态转移方程转化为矩阵形式,便于计算和优化。

4.初始化状态变量:将初始状态赋值给状态变量,用于递推计算。

5.递推计算:根据状态转移矩阵和当前状态,计算下一时刻状态的值,直到达到目标状态。

6.输出最优解:输出最终状态对应的最优解。

三、应用实例1.背包问题背包问题是一种组合优化问题,目标是在给定的一组限制条件下,尽可能地装满容量限制的背包。

动态规划算法可以有效解决背包问题。

function [optx,optf]=knapsack(w,v,c)%w:物品的重量; v:物品的价值; c:背包容量%optx:最优解; optf:最优解对应的函数值n=length(w); %物品数量f=zeros(n+1,c+1); %状态变量fx=zeros(1,n); %物品的选择变量xfor i=1:nfor j=1:cif j<w(i) %背包容量不足的情况f(i+1,j)=f(i,j);else %背包容量足够的情况f(i+1,j)=max(f(i,j),f(i,j-w(i))+v(i));endendendoptf=f(n+1,c); %最优解j=c; %从后往前寻找物品for i=n:-1:1if f(i+1,j)>f(i,j)x(i)=1;j=j-w(i);endendoptx=x; %最优解2.最长公共子序列问题最长公共子序列问题是一种字符串匹配问题,目标是在两个字符串中找到最长的公共连续子序列。

基于Matlab的动态规划算法的实现及应用

基于Matlab的动态规划算法的实现及应用

基于Matlab的动态规划算法的实现及应用动态规划算法是一种解决多阶段决策问题的优化方法,它可以在每个阶段选择最优决策,并且在各个阶段间保持最优子结构,从而达到整体最优的目的。

在实际应用中,动态规划算法被广泛用于求解优化问题、路径规划、资源分配等方面。

本文将介绍基于Matlab 的动态规划算法的实现及应用,并深入探讨其在实际问题中的应用。

一、动态规划算法的基本原理动态规划算法的基本原理是通过将问题分解为子问题,并计算每个子问题的最优解,然后存储下来以供后续使用。

最终得到整体最优解。

动态规划算法通常包括以下几个步骤:1. 确定状态和状态转移方程:首先需要确定问题的状态,然后建立状态之间的转移关系,也就是状态转移方程。

状态转移方程描述了问题的子问题之间的关系,是动态规划算法的核心。

2. 初始化:初始化动态规划数组,将初始状态下的值填入数组中。

3. 状态转移:利用状态转移方程计算出各个阶段的最优解,并将其存储在动态规划数组中。

4. 求解最优解:根据动态规划数组中存储的各个阶段的最优解,可以得到整体最优解。

Matlab是一种强大的计算软件,具有丰富的数值计算函数和可视化工具,非常适合实现动态规划算法。

下面以一个简单的背包问题为例,介绍如何在Matlab中实现动态规划算法。

假设有n件物品,每件物品的重量为w[i],价值为v[i]。

现在有一个容量为C的背包,问如何选择物品放入背包,使得背包中物品的总价值最大。

我们需要确定问题的状态和状态转移方程。

在这个问题中,我们可以定义状态dp[i][j]表示在前i件物品中选择若干个放入容量为j的背包中所能获得的最大价值。

状态转移方程可以表示为:dp[i][j] = max(dp[i-1][j], dp[i-1][j-w[i]] + v[i])然后,我们可以利用Matlab实现这个动态规划算法,代码如下:```matlabfunction max_value = knapsack(w, v, C)n = length(w);dp = zeros(n+1, C+1);for i = 1:nfor j = 1:Cif j >= w(i)dp(i+1,j+1) = max(dp(i,j+1), dp(i,j-w(i)+1)+v(i));elsedp(i+1,j+1) = dp(i,j+1);endendendmax_value = dp(n+1,C+1);end```三、动态规划算法在实际问题中的应用动态规划算法在实际问题中有着广泛的应用,下面以路径规划问题为例,介绍动态规划算法的应用。

Matlab求解线性规划和整数规划问题

Matlab求解线性规划和整数规划问题

Matlab求解线性规划和整数规划问题Matlab是一种功能强大的数学软件,可以用于求解线性规划和整数规划问题。

在本文中,我将详细介绍如何使用Matlab来解决这些问题。

首先,让我们了解一下线性规划和整数规划的基本概念。

线性规划是一种数学优化问题,其目标是在给定的一组约束条件下,最大化或者最小化线性目标函数。

整数规划是线性规划的一种扩展形式,其中变量被限制为整数值。

为了使用Matlab求解线性规划和整数规划问题,我们需要使用Matlab中的优化工具箱。

请确保你已经安装了该工具箱,并准备好了你的问题的数学模型。

在Matlab中,我们可以使用"linprog"函数来求解线性规划问题。

该函数的基本语法如下:[x, fval, exitflag, output] = linprog(f, A, b, Aeq, beq, lb, ub)其中,参数f是目标函数的系数向量,A和b是不等式约束的系数矩阵和右侧向量,Aeq和beq是等式约束的系数矩阵和右侧向量,lb和ub是变量的下界和上界。

函数的输出包括最优解x,最优目标函数值fval,退出标志exitflag以及输出信息output。

接下来,让我们通过一个具体的例子来演示如何使用Matlab求解线性规划问题。

假设我们有以下线性规划问题:最小化目标函数:f = [4, 3, 5]约束条件:A = [1, 1, 1; 2, 1, 3; 1, 2, 2]b = [6; 10; 8]变量的下界和上界:lb = [0; 0; 0]ub = []我们可以使用以下代码来求解这个问题:f = [4, 3, 5];A = [1, 1, 1; 2, 1, 3; 1, 2, 2];b = [6; 10; 8];lb = [0; 0; 0];ub = [];[x, fval, exitflag, output] = linprog(f, A, b, [], [], lb, ub);最优解x将包含变量的最优值,最优目标函数值fval将给出最小化的结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

122§17.借助于Matlab 用贯序算法求解目标规划问题虽然Matlab 没有提供直接求解目标规划的优化工具,但是根据目标规划的求解思路——单纯形方法。

我们可以将一个目标规划问题分解成若干线性规划问题,通过序贯式算法借助于Matlab 优化工具进行求解。

例1:教材第6章第3节中的目标规划问题:-+-++++=3322211)(min d p d d p d p Z11221≤+x x 01121=-+-+-d d x x1022221=-+++-d d x x561083321=-+++-d d x x)3,2,1(0,,,21=≥+-i d d x x i i首先将上述问题化为标准形式:-+-++++=3322211)(min d p d d p d p Z112321=++x x x01121=-+-+-d d x x1231022221=-+++-d d x x561083321=-+++-d d x x)3,2,1(0,,=≥+-i d d x i i i然后按照以下步骤分解计算: 第一步:求解如下线性规划问题:min d12x1+x2+x3=11 x1-x2+d1_-d1=0x1,x2,x3>=0,d1_>=0,d1>=0对上述线性规划问题,可以借助于Matlab 优化工具中的linprog 函数求解,函数调用命令为:[x,fval]=linprog(f,[],[],Aeq,beq,lb,[]) 其中,参数如下:Aeq= 2 1 1 0 0 0 0 0 0 1 -11-1beq=11 0f=0 0 0 1 0 0 0 0lb=0 00000000运行后,得求解结果如下:Optimization terminated successfully.x =0.16456.06284.6083267.4155261.5173fval =即:d1=0第二步:求解如下线性规划问题:min d2_+d22x1+x2+x3=11x1-x2+d1_-d1=0x1+2x2+d2_-d2=10d1=0x1,x2,x3>=0,d1_>=0,d1>=0,d2_>=0,d2>=0对上述线性规划问题,可以借助于Matlab优化工具中的linprog函数求解,函数调用命令为:[x,fval]=linprog(f,[],[],Aeq,beq,lb,[],x0)其中,参数如下:124Aeq=2110000001-101-10000120001-100000010000beq=1110f=0 00001100lb=0 00000000x0=0.16456.06284.6083267.4155261.5173运行后,得求解结果如下:x =0.05774.97125.91354.91350.00000.0000125fval =5.1844e-010即:d2_+d2=5.1844e-010≈0第三步:求解如下线性规划问题:min d3_2x1+x2+x3=11x1-x2+d1_-d1=0x1+2x2+d2_-d2=108x1+10x2+d3_-d3=56d1=0d2_+d2=0x1,x2,x3>=0; d1_>=0,d1>=0,d2_>=0,d2>=0,d3_>=0,d3>=0对上述线性规划问题,可以借助于Matlab优化工具中的linprog函数求解,函数调用命令为:[x,fval]=linprog(f,[],[],Aeq,beq,lb,[],x0)其中,参数如下:Aeq=2110000001-101-10000120001-100810000001-1000010000000001100beq=111012656f=0 00000010lb=0 00000000x0=0.05774.97125.91354.9135运行后,输出结果如下:x =2.27933.86032.58101.58100.00000.00000.00000.8380fval =3.6940e-013最后得到如下一组满意解:2.27933.86031271282.581 1.581 0 0 0 0 0.838可以看出,以上求解的满意解方案不同于用Lindo 软件求得的结果。

这是因为,该问题本身有多重解,而linprog 函数求解算法又不同于Lindo 的缘故。

有兴趣的读者可以进一步验证,上述解和借助于Lindo 软件用贯序方法求解的结果都是满意解方案。

例2:教材第6章第4节中的目标规划问题,土地利用问题:)()(m in 222111+-+-+++=d d P d d P Z耕地面积约束:⎪⎩⎪⎨⎧=++=++=++200x x x 300x x x 100x x x 332313322212312111最低收获量约束:⎪⎩⎪⎨⎧≥++≥++≥++35000010000x 12000x 14000x 0000310x 0066800x 8000x 1900009000x 9500x 11000x 333231232221131211目标约束为:6100000(X) 111=-++d d f -1296600000(X) 222=-++d d f -即:610000010000x 12000x 14000x +0x 0066800x 8000x + 9000x 9500x 11000x 11333231232221131211=-++++++++-d d00660000x 0089600x 11200x 9000x 10200x 12000x 10800x 11400x 13200x 22333231232221131211=-++++++++++-d d非负约束:1,2,3)j 1,2,3;(i 0x ij ==≥0,00,0,2211≥≥≥≥+-+-d d d d对于上述目标规划问题,可以按照如下两个步骤进行分解求解: 第一步:求解线性规划问题:min d1_+d1 x11+x21+x31=100 x12+x22+x32=300 x13+x23+x33=20011000x11+9500x12+9000x13>=190000 8000x21+6800x22+6000x23>=130000 14000x31+12000x32+10000x33>=35000011000x11+9500x12+9000x13+8000x21+6800x22+6000x23+14000x31+12000x32+10000x 33+d1_-d1=6100000xij>=0 (i,j=1,2,3); d1_>=0, d1>=0对上述线性规划问题,可以借助于Matlab 优化工具中的linprog 函数求解,函数调用命令为:[x,fval]=linprog(f,A,b,Aeq,beq,lb,[])其中,参数如下:A=-11000-9500-900000000000 000-8000-6800-600000000000000-14000-12000-1000000 b=-190000-130000-350000Aeq=10010010000010********0010010010011000 950090008000680060001400012000100001-1 beq=1003002006100000f=00000000011 lb=00000000000求解运行,输出结果:x =33.2724108.3943145.396116.469613054.32020.629650.2580137.285553.97430.00000.0000fval =2.6261e-014即:d1_+d1=2.6261e-014≈0第二步:求解线性规划问题:min d2_+d2x11+x21+x31=100x12+x22+x32=300x13+x23+x33=20011000x11+9500x12+9000x13>=1900008000x21+6800x22+6000x23>=13000014000x31+12000x32+10000x33>=35000011000x11+9500x12+9000x13+8000x21+6800x22+6000x23+14000x31+12000x32+10000x 33+d1_-d1=6100000d1_+d1=013200x11+11400x12+10800x13+12000x21+10200x22+9000x23+11200x31+9600x32+800 0x33+d2_-d2=6600000xij>=0 (i,j=1,2,3); d1_>=0, d1>=0,d2_>=0,d2>=0对上述线性规划问题,可以借助于Matlab优化工具中的linprog函数求解,函数调用命令为:[x,fval]=linprog(f,A,b,Aeq,beq,lb,[])131其中,参数如下:A=-11000-9500-9000000000000 0 000-8000-6800-6000000000 0000000-14000-12000-10000000 0b=-190000-130000-350000Aeq=100100100000 0 010********* 0 001001001000 0 11000 950090008000680060001400012000100001-10 0 13200 1140010800120001020090001120096008000001-10 000000001100 beq=10030020061000006600000f=00000000000 1 1 lb=000000000000 0运行输出求解结果:x =5.9011232.5826198.550312.81454.27711320.790581.284463.14030.65920.00000.00000.00000.0000fval =1.0126e-015即:d2_+d2=1.0126e-015≈0最后得到一个非劣解方案,如下表:I等耕地II等耕地III等耕地水稻 5.901 1 232.582 6 198.550 3大豆12.814 5 4.277 1 0.790 5玉米81.284 4 63.140 3 0.659 2同样可以看出,以上求解的满意解方案不同于用LINDO软件求得的结果。

这是因为,该问题本身有多重解,而linprog函数求解算法又不同于LINDO的缘故。

相关文档
最新文档