当前位置: 首页>编程语言>正文

定义目标函数非线性约束python 非线性目标函数模型


目录

前言

一、非线性规划问题是什么?

二、非线性规划的数学模型

1.一般形式

三、线性规划的 Matlab 解法

Matlab 中非线性规划的数学模型:

2.Matlab 中的命令:




前言

本篇讲述非线性规划问题极其matlab解法


一、非线性规划问题是什么?

如果目标函数或约束条件中包含非线性函数,就称这种规划问题为非线性规划问题。一般说来,解非线性规划要比解线性规划问题困难得多。而且,也不像线性规划有单纯形法这一通用方法,非线性规划目前还没有适于各种问题的一般算法,各个方法都有自己特定的适用范围。
下面通过实例归纳出非线性规划数学模型的一般形式,介绍有关非线性规划的基本概念。

二、非线性规划的数学模型

1.一般形式

定义目标函数非线性约束python 非线性目标函数模型,定义目标函数非线性约束python 非线性目标函数模型_算法,第1张

其中 x = [ x 1 .... x n ] T 称为模型(NP)的决策变量

f 称为目标函数

g i ( i = 1,...., p ) 和 h j ( j = 1,....,q ) 称为约束函数

另外, g i ( x ) = 0 ( i = 1,...., p ) 称为等式约束

h j ( x ) ≤ 0 ( j = 1,....,q ) 称为不等式的约束

三、线性规划的 Matlab 解法

Matlab 中非线性规划的数学模型:


定义目标函数非线性约束python 非线性目标函数模型,定义目标函数非线性约束python 非线性目标函数模型_matlab_02,第2张

         

其中 f (x)是标量函数, A, B, Aeq, Beq是相应维数的矩阵和向量,C(x),Ceq(x) 是非


线性向量函数。


2.Matlab 中的命令:

[x,fval]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)

 x的返回值是决策向量x的取值

fval返回的是目标函数的取值,其中fun是用M文件定义的函数 ;

x0是x的初始值;

A,b,Aeq,beq定义了线性约束  如果没有线性约束,则A=[],b=[],Aeq=[],beq=[];lb和ub是变量x的下界和上界,如果上界和下界没有约束,即x无下界也无上界,则lb=[],ub=[],也可以写成 lb的各分量都为-inf,ub的各分量都为inf;

nonlcon是用M文件定义的非线性向量函数c(x),ceq(x);

options定义了优化参数,可以使用Matlab缺省的参数设置。

(看不懂没关系,后边的例题你会明白的)

3、例题1----二次规划问题

定义目标函数非线性约束python 非线性目标函数模型,定义目标函数非线性约束python 非线性目标函数模型_matlab_03,第3张

clc
clear all
fun = @(x)100*(x(2)-x(1)^2)^2 + (1-x(1))^2;

x0 = [1,1];%初始点设置自行不同
A = [1,-2];
b = 1;
Aeq = [2,1];
beq = 1;
[x,y] = fmincon(fun,x0,A,b,Aeq,beq)

例题2---含非线性约束条件问题

目标函数

min f (x) = x1^2 + x2^2 + x3^2 + 8

约束条件
x1^2 − x2 + x3 ^2 ≥ 0
x1 + x2^2 + x3 ^3 ≤ 20
− x1 − x2^2 + 2 = 0
x2 + 2x3^2 = 3x1
x1,x2 , x3 ≥ 0
 

 解法

clc
clear all
%% 主函数
options=optimset('largescale','off');
[x,y] = fmincon(@fun,rand(3,1),[],[],[],[],zeros(3,1),[], @nonlcon, options)
 
%% 目标函数
function f=fun(x)
f=sum(x.^2)+8;
end
 
%% 非线性约束条件
function [c,ceq]=nonlcon(x)
c=[-x(1)^2+x(2)-x(3)^2
    x(1)+x(2)^2+x(3)^3-20];  %非线性不等式约束
ceq=[-x(1)-x(2)^2+2
   x(2)+2*x(3)^2-3]; %非线性等式约束
end

定义目标函数非线性约束python 非线性目标函数模型,定义目标函数非线性约束python 非线性目标函数模型_学习_04,第4张


https://www.xamrdz.com/lan/59m1921789.html

相关文章: