当前位置:网站首页>Example nonlinear integer programming
Example nonlinear integer programming
2022-07-02 17:26:00 【__ Rain】
example 1
The title is as follows
Using Monte Carlo method ( Random sampling method )
Although calculating the optimal solution is not realistic , But the application of probability theory can prove , In the case of a certain amount of calculation , A satisfactory solution can be obtained
The implementation of this algorithm is very simple , Easy to understand , Maintain the maximum value of random number of violent cycle
1) First write M M M file m e n g t e . m mengte.m mengte.m Define the objective function f f f and Constraint vector function g g g, The procedure is as follows
be aware g g g The essence of 5 × 1 5\times1 5×1 The column vector
function [f,g]=mengte(x);
% Input parameters x, Return value [f,g], The name of the function mengte
f=x(1)^2+x(2)^2+3*x(3)^2+4*x(4)^2+2*x(5)^2-8*x(1)-2*x(2)-3*x(3)...
-x(4)-2*x(5);
g=[sum(x)-400
x(1)+2*x(2)+2*x(3)+x(4)+6*x(5)-800
2*x(1)+x(2)+6*x(3)-200
x(3)+x(4)+5*x(5)-200];
end
2) To write M M M file w o r k . m work.m work.m Answer the question
rand('state', sum(clock));
Max=-10000000;% The maximum value of the function is initialized to negative infinity
tic% Show run time
for i=1:10^6
x=99*rand(5,1);% Generate 5*1 Random real matrix of
x1=floor(x);x2=ceil(x);% integer
[f,g]=mengte(x1);
if sum(g<=0)==4% Input parameter is x1 when , If all inequalities are satisfied
if Max<=f% Maintain the maximum value of the function
Max=f;
ans=x1;
end
end
[f,g]=mengte(x2);% repeat
if sum(g<=0)==4
if Max<=f
Max=f;
ans=x2;
end
end
end
ans,Max
toc
lingo solution
model:
sets:
row/1..4/:b;
col/1..5/:c1,c2,x;
link(row,col):a;
endsets
data:
c1=1,1,3,4,2;
c2=-8,-2,-3,-1,-2;
a=1 1 1 1 1
1 2 2 1 6
2 1 6 0 0
0 0 1 1 5;
b=400,800,200,200;
enddata
max=@sum(col:c1*x^2+c2*x);
@for(row(i):@sum(col(j):a(i,j)*x(j))<b(i));
@for(col:@gin(x));
@for(col:@bnd(0,x,99));
end
Example 2
Explain :
1) To write M M M file f u n 1. m fun1.m fun1.m Define the objective function
function f=fun1(x);
f=sum(x.^2)+8;
2) To write M M M file f u n 2. m fun2.m fun2.m Define nonlinear constraints
function [g,h]=fun2(x);
g=[-x(1)^2+x(2)-x(3)^2% Nonlinear inequality constraints
x(1)+x(2)^2+x(3)^3-20];
h=[-x(1)-x(2)^2+2% Nonlinear equality constraints
x(2)+2*x(3)^2-3];
3) Write main program
options=optimset('largescale', 'off');
[x,y]=fmincon('fun1',rand(3,1),[],[],[],[],...
zeros(3,1),[],'fun2',options)
Can be found x 1 = 0.5522 , x 2 = 1.2033 , x 3 = 0.9478 x_1=0.5522,x_2=1.2033,x_3=0.9478 x1=0.5522,x2=1.2033,x3=0.9478 when , minimum value y = 10.6511 y=10.6511 y=10.6511.
边栏推荐
猜你喜欢
Eye of depth (II) -- matrix and its basic operations
QStyle实现自绘界面项目实战(二)
Sword finger offer 21 Adjust the array order so that odd numbers precede even numbers
简单线性规划问题
【Leetcode】14. 最長公共前綴
【Leetcode】14. 最长公共前缀
After meeting a full stack developer from Tencent, I saw what it means to be proficient in MySQL tuning
Microservice architecture practice: Construction of scalable distributed database cluster
2020 "Lenovo Cup" National College programming online Invitational Competition and the third Shanghai University of technology programming competition (a sign in, B sign in, C sign in, D thinking +mst
深度之眼(三)——矩阵的行列式
随机推荐
What is agile development process
Eye of depth (III) -- determinant of matrix
Dstat use [easy to understand]
2、 Expansion of mock platform
Meanings of SNAT, DNAT and masquerade in iptables
JS20 array flattening
Weili holdings listed on the Hong Kong Stock Exchange: with a market value of HK $500million, it contributed an IPO to Hubei
The impact of telecommuting on all aspects of our experience | community essay solicitation
871. 最低加油次数
Introduction to nexus and detailed tutorial of Xiaobai using idea to package and upload to nexus3 private server
Blog theme "text" summer fresh Special Edition
移动应用性能工具探索之路
深度之眼(三)——矩阵的行列式
什么是软件开发中的 green field 和 brown field 模式 - 绿地开发和棕地开发
剑指 Offer 24. 反转链表
社交元宇宙平台Soul冲刺港股:年营收12.8亿 腾讯是股东
体验居家办公完成项目有感 | 社区征文
Briefly introduce the use of base64encoder
Vscode + eslint configuration
选择 SAP Spartacus 作为 SAP Commerce Cloud Storefront 实现框架的五个理由