运筹学大作业实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

运筹学大作业报告

2015.12

目录

前言 (2)

问题描述 (3)

实验过程 (3)

一.问题分析 (3)

二.建立模型 (3)

1.建立模型目标: (3)

2.模型约束条件 (4)

三.模型求解 (5)

1.预处理 (5)

2.中间过程 (7)

3.算法实现 (8)

4.求解结果 (8)

结果分析 (9)

实验总结 (9)

前言

本次大作业是为了帮助我们顺利完成有关《运筹学》课程内容的学习。在先期,翟老师带领我们进行了《运筹学》理论课程的学习,不仅使我们了解和掌握了运筹学的相关知识,而且让我们认识到运筹学的现实意义,认识到现代社会数学与人们生产、生活之间的紧密联系和对人们生产、生活的巨大促进作用。然而,与此同时,现代社会同时是一个计算机时代,我们只拥有理论知识还不够,必须把理论知识和计算技术结合起来,这样才能进一步提高生产力。我相信这也是老师要求我们做这次试验的目的和初衷。

在实验中,我们主要是利用lingo软件进行相关试验,其要求我们能够根据给出的问题,进行分析、建模和求解。通过完成各项实验任务,使我们得以巩固已有的理论课程学习内容,为将来进一步的学习和实际应用打下基础。

问题描述

电动车最优充电模式

假设一个小区的电动汽车充电服务商为这个小区中的100辆电动汽车提供充电服务,集中调度电动汽车充电,在满足用户第二天行驶需求的前提下,降低充电费用。

假设电动汽车每天只能在家中(前一天到家时间和第二天离家时间之间)接入电网,车辆电池容量为33kWh,充电功率上限为3kW,行驶里程和能量消耗成线性关系,每千瓦时的电能可以行驶6.7km,为保证电池不要因为过度放电导致寿命损耗,限定电池电量下限值为其容量的10%,调度步长为15min。同时,为保证电动汽车充电负荷不会导致小区线路过载,限定同时充电的车辆不超过20辆。现在已知100辆车的前一天的到家时间、第二天的离家时间、前一天到家时的能量、第二天的预计行驶距离和分时电价。以充电服务商总充电费用最小为目标,制定集中式车辆充电调度策略。

实验过程

一.问题分析

仔细分析该题目,我们提炼出以下几点条件:

1.车辆电池容量为33kWh,充电功率上限为3kW:在计算时统一使用最大功率进行充电,

来增加充电效率。

2.每千瓦时的电能可以行驶6.7km,电池电量下限值为其容量的10% :用户在满足第二天

行驶里程需求后,到家时剩余的电量要多于10%。

3.如由以上两点判断车辆是否需要充电以及充电的时长,用公式表示为:

所需充电时间(小时)=(行驶距离/(6.7)-(初始能量-10%)×电池容量)/3

4.调度步长为15min:将用户在家的时间分段,并且在每一时间段内车辆只有充电和不充

电两种状态。

5.同时充电的车辆不超过20辆:每个时间段内同时充电的车辆数小于等于20。

6.由如上可以确定需要充电的时间段数:即为时间计算结果乘以4并向上取整

二.建立模型

1.建立模型目标:

电价在不同时段有所不同,因此需要尽可能安排车辆在电价便宜的时间段内充电,来使得总费用最小

即:

min ∑∑P i 61j=079i=0×B i,j

由已知,100辆车最早回家时间是下午三点,最晚离开时间是上午十一点,期间一共是20个小时,以十五分钟为步长,则可分为80个时间段;经过判断可知有62辆车辆需要充电,因此目标函数只需计算这62辆车的充电费用总和。P _i 是第i 个时间段内的电价,B _(i ,j )表示第i 辆车在第j 个时间段内是否充电。

2.模型约束条件

1)第i 辆车充电的总时间段数需大于或等于所需充电时间段数:

∑B i,j 79i=0≥N , j=0,1,…,61

2) 第j 个时间段内正在充电的车辆总数需小于或等于同时充电车辆的上限值,即

∑B i,j 61j=0≤20 , i=0,1,…,79

3) 所得结果表示为:

B i,j ={ 0 第i 辆车在第j 个时间段内充电

1 第i 辆车在第j 个时间段内不充电

4) 车辆充电时应在家

B i,j ≤S i,j

(S _(i ,j )为表示第i 辆车在第j 个时间段内是否在家的0,1矩阵)

三.模型求解

整体求解过程流程图如下:

1.预处理

所需充电时间(小时)=(行驶距离/(6.7)-(初始能量-10%)×电池容量)/3

其中,初始能量和行驶距离在表中给出,电池容量已知为33,因此可利用Excel中的公式对已知数据进行批量处理。对所得小时数乘以4并向上取整得到需要充电的时间段数。对于某些得数小于0,则说明该车辆不需要充电。在Excel中新增一行,使用If公式进行判断,并显示“需要”或“不需要”

处理结果:

经过筛选,得到需要充电的车辆数为62,在后续计算中仅对这62辆车的充电调度问题进行计算。

2.中间过程

建立4个txt文本文档,将Excel处理所得结果复制粘贴到文档中。其内容分别为:

1)“charegetime.txt”为每辆电动汽车所需充电时间段数,为62个元素的列向量

2)“maxcar.txt”为小区线路负载限制,即同时允许充电的最大汽车数目。为80个元素的列向量,且值均为20.

3)“price.txt”为分时电价,为80个元素的列向量,储存各时间段电价值。

4)“S.txt”为汽车在家与否的状态矩阵,共62行80列,在家则值为1,不在家为0.

建立Excel文件result.xls,用于存放充电调度决策矩阵,即最终求解结果。充电则值为1,不充电为0

处理结果:

相关文档
最新文档