题目1
%题4.3
clc;
clear all;
F=[10 -57 9 -24];
A=[0.5 -5.5 -2.5 9; 0.5 -1.5 -0.5 1]
b=[0; 0]
Aeq=[];
beq=[];
lb=[0; 0; 0; 0];
ub=[1; Inf; Inf; Inf];
[x,fval]=linprog(F,A,b,Aeq,beq,lb,ub);
disp(x); %x为最优解
disp(fval); %fval为我们要求的最小或者最大值
运行截图
题目2
%题4.4
clc;
clear all;
F=[0 0 0 -1];
A=[0 -1 2 1; 3 0 -4 1; -5 6 0 1];
b=[0; 0; 0];
Aeq=[1 1 1 0];
beq=[1];
lb=[0; 0; 0; -Inf];
ub=[];
[x,fval]=linprog(F,A,b,Aeq,beq,lb,ub);
disp(x); %x为最优解
disp(fval); %fval为我们要求的最小或者最大值
运行截图
题目3
%题4.6
clc;
clear all;
F=[1 0 8 9 2 7 3];
A=[0 -1 -1 -1 0 0 0; 0 0 0 1 0 1 1];
b=[1; 0];
Aeq=[0 -1 0 0 1 1 0; 0 0 -1 0 -1 0 1];
beq=[0; 0];
lb=[-Inf; 0; 0; 0; 0; 0; 0];
ub=[];
[x,fval]=linprog(F,A,b,Aeq,beq,lb,ub);
disp(x); %x为最优解
disp(fval); %fval为我们要求的最小或者最大值
运行截图
题目4
%题4.10
###先创建fun.m文件,等待调用
function f=fun1(x)
f=1/2*(x(1).^2+x(2).^2)+3*x(1)+7*x(2)+x(4);
end
####保存成fun.m文件
%主程序如下
F='fun1';
x0=rand(4,1);
A=[];
b=[];
Aeq=[1 2 1 0;1 2 0 1];
beq=[8;5];
lb=[0;0;0;0];
ub=[];
nonlcon=[];
[x,fval]=fmincon(F,x0,A,b,Aeq,beq,lb,ub);
x; %x为最优解
fval %fval为我们要求的最小或者最大值
运行截图
网友评论