谢新连,杜 红,钟 铭,赵家保,丁关睿
(大连海事大学 综合运输研究所,辽宁 大连 116026)
“航运管理”是交通运输(水路运输)专业一门专业技术性较强的必修课程。2010年以前,本课程的教学方式以教师讲授和课堂研讨为主,但本课程涉及船舶调配方法的学习,由于涉及知识面广、问题较为复杂,仅靠课堂上教师的讲解很难使学生掌握船队规划和航线配船的具体操作方法。学生在课堂上理解之后,课下常常还是不会独立解决这类问题。特别是由于问题的复杂性,即使教师能够模仿实际拟制出一个题目让学生练习,也难以检查众多学生计算分析结果的正确性。这常常使学生感到求解这类问题的现代化方法有些玄妙,难于深入理解,学过的知识也很快忘记。为此,自2010年起,在“航运管理”课程中加入了“课程设计”这一实践环节,希望达到提高学生理解深度和实践操作能力的目的。进一步,为了提高学生的学习效率和教师教授、检查效果,又基于船舶调配实际案例设计开发了船舶调配教学软件,让学生能够结合案例进行操作练习。
“航运管理课程设计”是“航运管理”课程学习完成后让学生进行的一次全面综合的练习,“课程设计”将船队规划、航线配船的理论知识与实际经验有机结合起来,目的是巩固和加深学生对船舶调配基本知识的理解和掌握,使学生学习和掌握船舶调配的步骤和方法,提高学生综合运用课程其他相关知识(如航运经济、运筹学、优化算法设计等)的能力以及独立分析、解决实际问题的能力,使学生在设计案例、收集资料、处理数据、预测、运用数学优化软件(如Excel、Lingo、Matlab 等)进行求解计算以及计算机编程等方面的基本技能得到综合训练,提高学生适应未来工作和实践操作的能力,为学生打下更扎实的专业基础。
在实践中,船舶运输分为不定期船和班轮两种组织形式,两种运输组织形式的差异较大,因此所建立的数学优化模型也不同。为了充分表现两种运输组织形式的差异,在船舶调配教学软件——船队规划与航线配船决策支持系统(FPDSS)中设有大宗散货航线配船和班轮航线配船两个子系统。其中大宗散货航线配船子系统先行开发,已于2010年起应用于本课程设计,其开发设计已较成熟,文献[1]对其做了详细介绍。而班轮运输中,由于船舶在一个航次挂靠多个港口,在各个中途港也要装卸一定量的货物,因此班轮航线配船问题一直难以实现计算机程序化。下文介绍刚刚开发的班轮航线配船子系统的设计、实现及其在本课程设计中应用的效果。
班轮航线配船子系统采用的数学模型可参见参考文献[2],本文不再赘述。
班轮航线配船子系统的功能设计如图1 所示。
(1)航线配船向导模块共由11 +G 个步骤构成,其主要功能是辅助、指导用户按照要求输入已知数据;(2)显示优化结果模块的功能是将每次优化计算得到的最优方案以报表文本的形式,通过人机交互界面直观显示给用户;(3)历史决策查询模块的主要功能是按照决策时间对历史决策记录进行查询,查看输入的已知数据和输出的优化结果,同时可以实现对历史决策记录的删除操作。
图1 班轮航线配船子系统功能设计
班轮航线配船子系统结构设计如图2 所示。
图2 班轮航线配船子系统结构设计
数据支持文件:(1)fm21.frm 用于接收用户输入的初始已知数据及优化结果;(2)01.lng~10.lng文件为利用lingo12 软件编译的优化计算程序;(3)myfile.txt 用于存放最新的优化报告;(4)Results 文件夹用于存储历史决策的优化报告;(5)Lingd12.bas 和lingd12.dll 是Visual Basic 与Lingo 软件的接口文件。
数据准备及优化计算程序:班轮航线配船子系统通过fm21.frm 将输入的全部数据传输给01.lng~10.lng 文件,然后调用编译好的程序进行优化计算,并通过fm21.frm 接收计算返回的优化结果,将当次决策的优化报告以指定格式输出到Myfile.txt中,同时将优化报告保存到Results 文件夹中。当调用优化结果模块时,系统显示最新的优化报告;当调用历史决策查询模块时,系统会打开Results文件夹,所有的优化报告都以决策时间命名,用户可以通过选择、删除或查看历史优化报告实现对Results 文件夹的管理。
(1)多种语言混合编程。班轮航线配船子系统采用Lingo 12.0 和Visual Basic 6.0 两种程序设计语言混合编程方法。其中,Visual Basic 6.0 用来实现人机交互界面和工程内部各功能模块的管理优化,使人机交互界面智能向导功能更突出,帮助用户进行灵活操作;Lingo 12.0 用来实现内部优化算法程序模块。在系统运行过程中,Visual Basic在前台运行,Lingo 程序始终在后台运行,两者之间数据交换均通过磁盘文件进行,执行效率高。
(2)Visual Basic 与Lingo 接口实现。要实现多种语言混合编程,关键在于语言之间的接口实现。Visual Basic 与Lingo 接口实现的主要思想是:Lingo提供一个动态链接库文件(DLL),使得Visual Basic可以直接运行Lingo 的命令脚本语言(command script),这样就可以在Visual Basic 与Lingo 之间进行数据传递以及各种操作[3,4]。
班轮航线配船子系统运行流程如图3 所示。
图3 班轮航线配船子系统运行流程
在“航运管理课程设计”中,采用的案例如下。
设某公司的班轮船队中现有5 种集装箱船型,每型船的数量及主要参数见表1。本年度内船舶要配置在3 条航线(多港口挂靠、货物直达运输的航线)上承担运输任务。各航线挂靠港口和要求的最小发船班次数列于表2 中,各港口装卸效率参见表3,设各型船的平均装载率为0.7;预测2014年每条航线上各挂靠港间的集装箱运输量见表4。假设由于某种客观原因,第1 型船不能配置在第3条航线上营运,如果将第5 型船配置在第1 条航线上,则第5 型船每个航次需要增加滞期时间2 天,如果将第4 型船配置在第2 条航线上,则第4 型船每个航次需要增加滞期时间1 天。假设各型船年营运时间为350 天。
查阅相关资料,参照班轮航线配船数学模型(1)~(8)式和教材[5]关于航次时间和运输成本的相关计算公式,补充必要计算数据:
(1)各航线的运价;
(2)各型船舶在各航线上营运的航次费用及1年内可以完成的往返航次数。
求出2014年船队的最佳航线配船方案。
表1 现有船型技术参数及数量
表2 航线参数
表3 各港口装卸效率
表4 各挂靠港之间的预测货运需求量
学生通过查阅相关船舶、港口、航线、费用等方面的资料,并结合课堂所学的专业知识,计算、补充案例所需数据,并运用数学优化软件(如Excel、Lingo、Matlab 等)或计算机编程进行求解,然后再使用班轮航线配船子系统对问题进行优化求解,并比较分析前者求解结果与系统求解结果的差异和原因。
以学号后4 位0357 为例,即2014年上海到大连的预测货运需求量为3.57 万TEU,给出本案例所需的已知数据和通过班轮航线配船子系统进行优化求解的结果,已知数据见表5 和表6,优化结果具体如表7 所示。
此外,班轮航线配船子系统的求解结果中,还会给出按照表7 所示的航线配船方案安排运输时各航线上实际完成的货运量、所有航线实际完成的总货运量、未完成的货运量及船舶闲置情况。在本案例中,按照表7 所示的方案安排船队进行运输,除挂靠港6(青岛)到挂靠港7(营口)的部分货运需求(100TEU)外,可以满足表4 中列出的各挂靠港间的运输需求。
表5 运价表
表6 各型船在各航线上的航次费用及1年内可以完成的往返航次数
表7 2014年航线配船方案
船舶调配教学软件对“航运管理课程设计”起到很大的辅助支撑作用,提高了学生对多方面知识的综合运用能力,取得了良好的教学效果。
“航运管理课程设计”的数据搜集具有一定难度,工作量较大,学生在搜集信息、整理数据的过程中加深了对专业知识的理解,提高了从大量信息中提取关键信息的能力。
“航运管理”课程的学习涉及多种专业知识和计算技术,仅靠课堂上有限时间内的讲解,学生很难深入掌握,即使课后对教材进行复习,也感觉比较抽象。在“航运管理课程设计”准备数据阶段涉及大量的专业知识和计算,这就使得学生能够在实践中运用这些专业公式,加深理解和记忆,而且,这些计算复杂、繁琐,需要学生细心、耐心,提高了学生处理复杂问题的能力。
“航运管理课程设计”的完成不仅需要学生运用课堂所学知识,还需要学生综合运用其他相关专业知识,学习运用数学优化软件以及计算机编程等,锻炼了学生进行船舶调配的实际操作能力,提高了学生的基本技能和综合能力。
针对船舶调配这一理论性和专业性都很强的复杂问题设计开发了教学软件——船队规划与航线配船决策支持系统(FPDSS)。该软件结合课堂上讲授的专业实际问题数学模型,运用前面课程学过的线性规划优化算法并采用混合语言编程技术,实现复杂问题的快速求解,操作简单,具有良好的人机交互特点,非常适合于刚刚开始专业知识学习和接触实际问题的本科生的动手能力训练。学生反应积极,兴趣较高,教学效果令人满意。
教学实践表明,这种通过开发计算机教学软件辅助实践课的教学方法明显有助于加深学生对专业知识的掌握,提高学生实践操作能力,使学生打下更扎实的专业基础。借助于这种教学软件,也有助于教师快速诊断学生在理解或操作方面存在的问题,高效率、有针对性地提供个别辅导和集体指导,特别适合于学生人数较多的课程设计环节。这一教学实验的成功,为此类实践课程教学资源的开发建设提供了一个有参考价值的实际案例。
[1]杨秋平,谢新连,苏 晨.航线配船与船队规划模型及算法实现[J].中国航海,2009,32(1):91-95.
[2]杜 红,谢新连,唐 磊,赵家保.多港口挂靠班轮航线配船数学模型及其应用[J].中国航海,2014,37(2):113-117.
[3]张宏伟,牛志广.LINGO 8.0 及其在环境系统优化中的应用[M].天津:天津大学出版社,2005.
[4]吴兴远,莫小宝,李 佳.高级语言与lingo 混合编程解决复杂规划问题[J].软件导刊,2009,8(1):73-74.
[5]谢新连.船舶运输管理与经营:2 版[M].大连:大连海事大学出版社,2009.