一、试将以下非线性 0-1 规划问题转化为线性的 0-1 规划问题
二、某市为了方便小学生上学
拟在新建的 8 个居民小区 A1、A2…,A8 增设若干所小学,经过论证知备选校址有 B1、B2…B6 它们能够覆盖的居民小区如表 2.1 所列。
解:由题,令
即可根据题意得到:
利用 Matlab 求解的程序为:
clc,clear f = ones(6, 1); intcon = 1 : 6; A = [1 1 1 0 0 0; 0 1 0 1 0 0; 0 0 1 0 1 0; 0 0 0 1 0 1; 0 0 0 0 1 1; 1 0 0 0 0 0; 0 1 0 1 0 1]; b = ones(7,1); lb = zeros(6,1); ub = ones(6,1); A = -A; b = -b; [x,fval] = intlinprog(f, intcon, A,b, [],[],lb,ub)
利用 Lingo 进行求解的程序为:
model: sets: row/1..7/:b; col/1..6/:f,x; link(row,col):a; endset data: f = 1, 1, 1, 1, 1, 1; a = 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 1 0 1; b = 1, 1, 1, 1, 1, 1, 1; endata max = @sum(col:f * x); @for (row(i): @sum(col(j): a(i,j) * x(j) > b(i)); @for (col: @gin(x)); @for (col: @bnd(0, x, 1));