分支定界算法 matlab,分支定界法----整数规划matlab

分支定界法的思想是:首先确定目标值的上下界

发布人:chengxu0921 发布时间:2008-7-21 18:16:27 新闻类别:分支-界限法

例1:设有A,B,C,D,E 5人从事j1,j2,j3,j4,j5 5项工作每人只能从事一项,它们的

效益表如下:

83a100c5acefb30e50fb9a64c60e3e8e.png

求最佳安排,使效益最高?

原文代码重写如下,希望增加点可读性。

program PlanJob;

const MAX_SIZE = 20;

type

TIntArray = array[1..MAX_SIZE] of Integer;

PNode = ^Node;

Node = record

Job2Man: TIntArray; // Job2Man[n] = m, job-n assign to person-m Man2Job: TIntArray; // Man2Job[n] = m, person-n assign to job-m UpperVal: Integer; // upper value

JobsDep: Integer; // jobs decided, as search depth

Next: PNode;

end;

var

CurNode: PNode; // Current node

NewNode: PNode; // New branch node

DelNode: PNode; // for delete

GoalNode: PNode; // the goal

GoalMaxVal: Integer; // goal max value

CurMan, CurJob: Integer; // Current Man and Job of current Node

Size: Integer; // Person number, also task number

Values: array[1..MAX_SIZE, 1..MAX_SIZE] of Integer;

function CalUpperValue(ANode: PNode): Integer;

var

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值