matlab整數線性規划intlinprog命令(代碼)


function [Jammer,restnode]=intlintest(adj_matrix,k)
u = adj_matrix;
n = length(adj_matrix);
f = sum(u);                % 因為是對稱矩陣,行和列和相同,所以無需兩個都考慮;
%f = sum(u)+sum(u');                
f = f';
A = -ones(1,n);             % Ax <= b (Ax 表示剩下節點的度之和); 目標函數為求剩下節點度和最小;
b = -(n-k);                 % resnodenum >= k; 
lb = zeros(n,1);
ub = ones(n,1);
intcon=[1:n];
tic
[x fval]= intlinprog(f,intcon,A,b,[],[],lb,ub) ;
toc
Jammernum = length(find(x==0));
Jammer = zeros(Jammernum,1);
Jammer = find(x==0);
restnode = zeros(n-Jammernum,1);
restnode = find(x==1);
Jammer = Jammer';
restnode = restnode';
end

adj_matrxi是鄰接矩陣,k是干擾源個數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM