当前位置:网站首页>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.
边栏推荐
- Smart trash can (V) - light up OLED
- 【Leetcode】14. Longest Common Prefix
- SAP Commerce Cloud 架构概述
- 选择 SAP Spartacus 作为 SAP Commerce Cloud Storefront 实现框架的五个理由
- GeoServer:发布PostGIS数据源
- si446使用记录(一):基本资料获取
- 从收集到输出:盘点那些强大的知识管理工具——优秀笔记软件盘点(四)
- ETH数据集下载及相关问题
- Visibilitychange – refresh the page data when the specified tab is visible
- 深度之眼(二)——矩阵及其基本运算
猜你喜欢
深度之眼(三)——矩阵的行列式
Connect Porsche and 3PL EDI cases
ETH数据集下载及相关问题
[shutter] dart data type (dynamic data type)
[fluent] dart data type map type (create map set | initialize map set | traverse map set)
剑指 Offer 26. 树的子结构
超卓航科上市:募资9亿市值超60亿 成襄阳首家科创板企业
Sword finger offer 24 Reverse linked list
Jiuxian's IPO was terminated: Sequoia and Dongfang Fuhai were shareholders who had planned to raise 1billion yuan
Chapter 3 of hands on deep learning - (1) linear regression is realized from scratch_ Learning thinking and exercise answers
随机推荐
牛客JS2 文件扩展名
线性规划例题 投资的收益与风险
书包网小说多线程爬虫[通俗易懂]
How to transfer business data with BorgWarner through EDI?
Ocio V2 reverse LUT
Niuke js3 separator
ThreadLocal
Timing / counter of 32 and 51 single chip microcomputer
Eye of depth (III) -- determinant of matrix
Sword finger offer 21 Adjust the array order so that odd numbers precede even numbers
Geoserver: publishing PostGIS data sources
福元医药上交所上市:市值105亿 胡柏藩身价超40亿
从收集到输出:盘点那些强大的知识管理工具——优秀笔记软件盘点(四)
使用知行之桥的API端口,提供资源供合作伙伴访问
剑指 Offer 22. 链表中倒数第k个节点
Does digicert SSL certificate support Chinese domain name application?
人生的开始
ROS知识点——ros::NodeHandle n 和 nh(“~“)的区别
Microservice architecture practice: Construction of scalable distributed database cluster
Eye of depth (II) -- matrix and its basic operations