欢迎光临我的Blog,虽然这里还很简陋,但未来一定会焕发生机的!

整数规划的习题——炎泽汐 の Blog

数模 yanzexi 3年前 (2022-08-04) 1208次浏览 已收录 0个评论 扫描二维码
文章目录[隐藏]

一、试将以下非线性 0-1 规划问题转化为线性的 0-1 规划问题

整数规划的习题——炎泽汐 の Blog
解答:
整数规划的习题——炎泽汐 の Blog

二、某市为了方便小学生上学

拟在新建的 8 个居民小区 A1、A2…,A8 增设若干所小学,经过论证知备选校址有 B1、B2…B6 它们能够覆盖的居民小区如表 2.1 所列。
整数规划的习题——炎泽汐 の Blog
解:由题,令
整数规划的习题——炎泽汐 の Blog
即可根据题意得到:
整数规划的习题——炎泽汐 の Blog

利用 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)); 
喜欢 (0)
[炎泽汐de收款码]
分享 (0)

您必须 登录 才能发表评论!