⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.asv

📁 采用分支定界算法
💻 ASV
字号:
%主函数
clear all;
clc;
tic;
f=[-1;-1.2;1;-1;-1.4;0.2];
a=[1,1,1,1,1,1;2,-1,-2,1,0,0;0,0,1,1,2,1];
b=[6.5;4.5;4];
function[jie,fval,exflag,time]=intopt(f,a,b,intbegan,aeq,beq,lb,ub)

%这是一个求解整数规划的函数,当不入intbegan的值时默求解线形规划问题
%f,a,b为必须输入的参数,f为目标函数,A*X<=B为不等式约束
%aeq,beq为等式约束,默认为空
%ub为原问题的最大值,默认为无大
%lb为可行域的最小值,默认为0
%intbegan表示从哪一位开始是整数约束,注意要包括这一位,默认为可行解的维数加上1;原问题变成一个线形规划问题
%
%
%

if nargin<

aeq=[];
beq=[];
ub=[inf;inf;inf;inf;inf;inf];
lb=[0;0;0;0;0;0];%-ub;
intbegan=1;%
[jie,fval,exflag]=linprog(f,a,b,aeq,beq,lb,ub)
global optjie;
global optfval;
global time;
time=0;
optfval=inf;
optjie=[0;0];
[jie,fval,exflag]=branch(f,a,b,aeq,beq,lb,ub,intbegan);
disp('成功了!');
disp('最优解为optjie=');
optjie
disp('最优结果为');
optfval=f'*optjie
toc;
disp('分支的次数为time=');
time
   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -