当前位置:网站首页>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.
边栏推荐
- AP and F107 data sources and processing
- uniapp H5页面调用微信支付
- Goodbye, shucang. Alibaba's data Lake construction strategy is really awesome!
- [fluent] dart data type map type (create map set | initialize map set | traverse map set)
- Timing / counter of 32 and 51 single chip microcomputer
- 宝宝巴士创业板IPO被终止:曾拟募资18亿 唐光宇控制47%股权
- Tech talk activity preview | building intelligent visual products based on Amazon kVs
- Eth data set download and related problems
- One year is worth ten years
- JS delete substring in string
猜你喜欢

Understand one article: four types of data index system
![[shutter] dart data type (dynamic data type)](/img/6d/60277377852294c133b94205066e9e.jpg)
[shutter] dart data type (dynamic data type)

How to transfer business data with BorgWarner through EDI?

Baobab's gem IPO was terminated: Tang Guangyu once planned to raise 1.8 billion to control 47% of the equity

Sword finger offer 24 Reverse linked list

绿竹生物冲刺港股:年期内亏损超5亿 泰格医药与北京亦庄是股东

Qwebengineview crash and alternatives

剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

Blog theme "text" summer fresh Special Edition

ThreadLocal
随机推荐
Changwan group rushed to Hong Kong stocks: the annual revenue was 289million, and Liu Hui had 53.46% voting rights
ceph 原理
chmod命令原理及用法详解[通俗易懂]
Flutter: 动作反馈
Win10系统使用pip安装juypter notebook过程记录(安装在系统盘以外的盘)
executescalar mysql_ ExecuteScalar()
VScode知识点——常见报错
Sword finger offer 21 Adjust the array order so that odd numbers precede even numbers
如何与博格华纳BorgWarner通过EDI传输业务数据?
求简单微分方程
对接保时捷及3PL EDI案例
Sword finger offer 25 Merge two sorted linked lists
社交元宇宙平台Soul冲刺港股:年营收12.8亿 腾讯是股东
SAP Commerce Cloud Storefront 框架选型:Accelerator 还是 Spartacus?
剑指 Offer 21. 调整数组顺序使奇数位于偶数前面
LSF basic command
ROS知识点——消息过滤器 ( message_filters)
JS delete substring in string
Visibilitychange – refresh the page data when the specified tab is visible
Geoserver: publishing PostGIS data sources