详细说明。
101 .1.3 数据库数据导入 数据导入可以由脚本导出执行得到,或者由用户根据实际的数据手动输入。
1 脚本导入:由已有数据的 SQL 脚本导入数据库中(譬如已做过测试的案例的脚本)。
操作方法: 登陆数据库上述创建的用户,在显示菜单栏中点击执行脚本,将待执行的脚本选入当前执行页面, 点击执行,正确执行完毕后保存。
2 手动输入:使用者可以根据实际数据在创建的表单中输入数据后保存。
注:无论是脚本导入的数据还是手动输入的数据,使用者都可以对其进行修改,以优化程序计算结果。
1.3.3 程序运行步骤 1 将程序拷贝到 Matlab 的默认工作路径 bin 文件夹下(使用者也可以放到其他路径下,但程序运行时将该路径添加为 Matlab 的工作路径) 2 运行 Matlab 软件,从 File 菜单栏点击 Open 打开主程序即 main.m。
3 main.m 程序打开后弹出的 Editor 页面,点击运行按钮,程序开始运行。
1.3.4 运行说明1 .1.4 输入参数控制 按照上述的说明,将测试数据导入到数据库中,主程序运行时界面如下: ,然后点击“连接数据库”按钮,在输入班组个数栏,输入班组个数(如测试用的数据为 7 个班组,输入 7)显示开始连接数据库,直至数据库连接完成。
1 .1.5 运行操作控制 1 点击开始排班按钮,程序开始进行排班计算,直至界面显示排班完成; 2 点击输出结果在界面上显示此次计算结果; 11 3 在“成图”左边的下拉框中选择要观察的图形(含算法搜索过程、计划调度甘特图、计划调度路 径图),点击“成图”按钮进行图形绘制。
1 .1.6 输入输出结果 程序运行完成,其他详细输入输出结果在 Matlab 的 Command Window 窗口查看。
如下图所示:1 .1.7 其他异常 程序排班未完成时,对输出结果,成图进行操作,程序运行会出现异常,需重新运行程序进行计算。
1.4 程序维护过程1.4.1 程序设计的约定 1 将班组作业分为三个等级,I 级效率最强,III 最弱,在数据库中分别以数字 1、2、3 表示,并存 储在 GROUP_GRADE 中。
2 调度现场作业范围大致为 300 平方公里左右的区域,故任务坐标取点横坐标 X 范围为015,纵 坐标 Y 取点范围为020 。
3 遗传算法的参数设定为:初始种群大小为 100;交叉率为 0.6;变异率为 0.3;最大遗传代数为 700; 代沟为 0.8。
1.4.2 出错及纠正方法 可能由于输入的数据不符合程序的要求,程序运行将可能报出错误,需要按照程序所需的数据要求进行修改,可能出现的问题: 1 不同班组完成任务的小时数数据矩阵中存在缺漏,会造成排班计算程序运行出错,需要核查数据 的完整性,并予以更正。
2 不同班组完成任务的小时数数据矩阵与各班组对应任务的超期损失矩阵应该一一对应,不可缺少 或增加,否则会出现超期损失计算程序运行错误。
1.4.3 参数改变时程序维护 原设计者设计的程序为 5 个班组,增删班组个数时需要对 m3.m 程序,main.m 程序相应模块、界面显示和数据库表单参数进行修改。
以将 5 个班组更新为 7 个班组为例: a. 数据库表单 TASK_BL 中增加参数 G6,G7; b. 将 m3.m 程序的第 3 行 input5 更新为 input7; 12c. 将 m3.m 程序的第 72 行 queryString5 sprintfselect G1G2G3G4G5 from TASK_BL order by TS_ST_ID更新为 queryString5 sprintfselect G1G2G3G4G5G6G7 from TASK_BL order by TS_ST_IDd. 将 m3.m 程序的第 79 行至 85 行的源程序 for i1:rowscursor6 BLi1 cursor6.Datai1 BLi2 cursor6.Datai2 BLi3 cursor6.Datai3 BLi4 cursor6.Datai4 BLi5 cursor6.Datai5 end 更新为 for i1:rowscursor6 BLi1 cursor6.Datai1 BLi2 cursor6.Datai2 BLi3 cursor6.Datai3 BLi4 cursor6.Datai4 BLi5 cursor6.Datai5 BLi6 cursor6.Datai6 BLi7 cursor6.Datai7 ende. 将 main.m 程序的第 167 行 queryString5 sprintfselect G1G2G3G4G5 from TASK_BL order by TS_ST_ID更新为 queryString5 sprintfselect G1G2G3G4G5G6G7 from TASK_BL order by TS_ST_IDf. 将 main.m 程序的第 173 行至 179 行的源程序 for i1:rowscursor6 BLi1 cursor6.Datai1 BLi2 cursor6.Datai2 BLi3 cursor6.Datai3 BLi4 cursor6.Datai4 BLi5 cursor6.Datai5 end 更新为 for i1:rowscursor6 BLi1 cursor6.Datai1 BLi2 cursor6.Datai2 BLi3 cursor6.Datai3 BLi4 cursor6.Datai4 BLi5 cursor6.Datai5 BLi6 cursor6.Datai6 BLi7 cursor6.Datai7 end 13g. 在主界面设计 main.fig 上添加两个 text 显示窗口来显示新增班组 67 的行驶路程,并在 main.m 程序尾会添加两个 text 功能函数: function text12_CreateFcnhObject eventdata handles; function text13_CreateFcnhObject eventdata handles;h. 在 main.m 程序的第 403-404 行 d5 sprintf班组i路程为(单位:公里):n in5F_dis5 sethandles.text7Stringd5 后面添加 d6 sprintf班组i路程为(单位:公里):.
上一篇:
基于CMS的中小企业网站
下一篇:
还记得,那年的风车吗?