声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1701|回复: 0

[综合讨论] matlab编程(启发式算法)--关于钢铁轧制批量计划问题

[复制链接]
发表于 2007-5-21 14:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
因为之前没有过matlab编程经验,所以一头雾水,希望知道怎么编这个程序的高手能帮帮忙,这个对我很重要。给我一些提示也可以。:@L
matlab编程(启发式算法)--关于钢铁轧制编制问题
算法设计:
假设共有N类板坯,第i类中有。vi块板坏:共有W种宽度, 设置数组
L[W],其中L[w]为第w种宽度板坯的轧制长度。
Step0 设置开始变量值i=j=k=r=P=1,L[w] = 0(1~W),fit =0,fitmin =1000
Stepl 将板坯按轧制计划类型分类
Step2 对第i类板坯排序,排序的第一规则为板坯宽度,第二规则为板坯优先级
Step3 寻找第i类第一块未排入计划的板坯I作为基准,放入第k轧制单元,将板坯j标志为已排入计划,依次向下寻找下一块最优连轧板坯,令r=j+l
Step4 假设将板坯:与板坯J连轧,判断板坯r与板坯j是否同宽,否:
转至Step6
Step5 判断k轧制单元内该宽度轧制总长度是否满足同宽最大轧制公里
数R,否:令r=r+1转回Step4
Step6 判断k轧制单元总轧制长度是否满足最大轧制公里数,否:令
r=r+1,转回Step4
Step7 计算当前惩罚值fit,计算方法为板坯r与板坯的宽度、厚度、硬
度跳跃惩罚和优先级差异惩罚之和,判断fit<FITMIN是否成立,是:
令fitmin= fit,记录当前板坯p=r,令r=r+l
Step8 判断r是否等于Ni,否:转Step4
Step9 判断fitmin= 1000是否成立,否:转至Stepll
Step10 判断i类型板坯是否已全部排入计划,是:转Stepl2,否:令k=k+l, 转Step2
Stepll 将第P块板坯放入第j个轧制单元,与板坯j连轧,将第P板坯标志位设置为已排入计划, 累加同宽轧制公里数和轧制单元轧制公里数,令j=k转Step3
Step12 判断i是否等于M,否:令i=i+1,转Step2
Step13 END

[ 本帖最后由 eight 于 2007-5-21 16:56 编辑 ]
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-19 04:31 , Processed in 0.062083 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表