基于蜜蜂算法求解电力系统经济调度(Matlab代码实现)

目录

1 蜜蜂优化算法

1.1 蜂群觅食机制

1.2 蜜蜂算法

1.3 流程

2 经济调度

3 运行结果 

4 Matlab代码及文章

 5 参考文献

6 写在最后


1 蜜蜂优化算法

蜜蜂算法 ( Bees Algorithm BA ) 由英国学者 AfshinGhanbarzadeh 和他的研究小组于 2005 年提出 该算法是一种有别于蚁群算法及粒子群算法的全新的群智能优化算法, 它通过模拟蜜蜂群体的觅食行为来搜索数学问题的最优解。
在国外, 蜜蜂算法目前已广泛应用到包括数据聚类分析、 电子设计 函数优化 机械设计 机器人控制、 神经网络训练等在内的连续优化问题中 以及包括集装箱装载、 特征提取 作业调度 TSP 等在内的组合优化问题中。 大量研究成果表明 邻域搜索和随机搜索相结合的蜜蜂算法能够很好地解决各类大型组合优化问题与函数优化问题。 然而 国内尚没有专门针对蜜蜂算法展开的理论研究和应用研究, 仅有部分学者采用蜂群觅食机制的原理来改进遗传算法, 称为蜂群遗传算法[1] 或蜜蜂进化型遗传算法 2-4 这些算法在基因进化的过程中增加了模拟蜜蜂觅食机理的步骤, 使得遗传算法的全局搜索能力和收敛速度均有所提高, 取得了良好的应用效果

1.1 蜂群觅食机制

蜂群能够在大范围地理区域内的不同方向上同时寻找到大量花蜜或花粉。 并且 花蜜或花粉质量较好 、数量较多、 距离较近的食源会吸引大量蜜蜂 而花蜜或花粉质量较差、 数量较少 距离较远的食源则只能吸引少量蜜蜂。首先, 蜂群会派出一群侦察蜂各自飞到不同的地点, 并且在该地点附近随机地搜索花蜜或花粉 各侦察蜂找到食源之后飞回蜂房, 并以 圆舞 “8 字舞 ” 的舞蹈方式将食源的信息告知其它工蜂。 食源的信息主要包括 3 : 食源的方向 食源的距离 食源食物的质量。 蜂群依据这些信息对不同的食源进行评价 ,进而派出大量采集蜂前往较好的食源, 派出少量采集蜂前往较差的食源。 这种觅食机制使得蜂群能够快速有效地采集食物。

1.2 蜜蜂算法

蜜蜂算法 ( Bees Algorithm BA ) 的核心思想是对上述蜂群觅食机制的计算机模拟。 运用蜜蜂算法进行优化计算时需要设置以下几个参数: 侦察蜂的数量 ( n ) 、从 n 个采集点中优选出来的较好的搜索区域数目 ( m ,m < n ) m 个搜索区域中优选出来的最好的搜索区域数目( e e m ) e 个最好的搜索区域各自招募的采集蜂数量( nep ) 另外 m e 个搜索区域各自招募的采集蜂数量( nsp nsp nep ) 搜索邻域的大小 ( ngh) ,以及迭代终止判定准则

1.3 流程

蜜蜂算法的计算流程如下 :
Step 1. 随机初始化 n 只侦察蜂的位置 并计算各自的适应值;
Step 2. 优选 m 只适应值较好的侦察蜂进行邻域( ngh ) 搜索 并计算各自适应值 ;
Step 3. 优选出适应值最好的 e 只侦察蜂 并各自招募 nep 只采集蜂进行邻域搜索 计算每只采集蜂的适应值;
Step 4. 优选出适应值其次的 m e 只侦察蜂 并各自招募 nsp 只采集蜂进行邻域搜索 计算每只采集蜂的适应值;
Step 5. 分别针对 m 个食源 选出各食源的所有蜜蜂中适应值最好的那只蜜蜂;
Step 6. 剩余 n m 只侦察蜂在问题的解空间内随机搜索并计算各自的适应值;
Step 7. 转到 Step 2 直至迭代终止判定条件成立 。第 3 步和第 4 步招募采集蜂到适应值最好的 e 个食源和适应值其次的 m e 个食源并进行邻域搜索时 ,分配到每个食源的采集蜂数量是不同的, 可以采用各侦察蜂的适应值作为选择采集蜂的概率。 5 步在每个食源中仅仅只保留适应值最好的那只蜜蜂来形成下一代蜜蜂群体。 在真实蜂群中并没有这种限制 该步骤仅仅是为了减少搜索点的数量。 6 步中 群体中剩下的 n m 只侦察蜂将在搜索空间内随机分配 以查找新的可行解。 每一次迭代完成后 新的蜜蜂群体将会由两部分组成, 一部分是在选定食源邻域内搜索
得到适应值最好的 m 只蜜蜂 另一部分则是负责随机搜索的 n m 只侦察蜂

2 经济调度

电力系统经济调度(Matlab完整代码实现)

改进粒子群算法求解电力系统经济调度问题(Matlab实现)

多元宇宙算法求解电力系统多目标优化问题(Matlab实现)【电气期刊论文复现与算例创新】

风电随机性动态经济调度模型(Python&Matlab代码)

粒子群算法求解电力系统环境经济调度+微电网调度(风、光、电动车、柴油机、主网)(Python代码实现)

电力系统经济调度(Matlab代码实现)[Yalmip + Gurobi]

MATLB|具有储能的经济调度及机会约束和鲁棒优化

基于风光储能和需求响应的微电网日前经济调度(Python代码实现)【1】

多目标灰太狼算法求解环境经济调度问题(IEEE30)(Matlab实现)

多目标遗传算法NSGAII求解环境经济调度(Python代码实现)

改进的多目标差分进化算法在电力系统环境经济调度中的应用(Python代码实现)【电气期刊论文复现】

3 运行结果 

基于蜜蜂算法求解电力系统经济调度(Matlab代码实现)_第1张图片

4 Matlab代码及文章

本文仅展现部分代码,全部代码见:正在为您运送作品详情

基于蜜蜂算法求解电力系统经济调度(Matlab代码实现)_第2张图片

for i = nEliteSite+1:nSelectedSite
bestnewbee.Cost = inf;
for j = 1:nSelectedSiteBee
newbee.Position = BeeDance(bee(i).Position, r);
[newbee.Cost newbee.Sol] = CostFunction(newbee.Position);
if newbee.Cost
                                
                                
  • Hibernate的总结 永夜-极光 Hibernate
    1.hibernate的作用,简化对数据库的编码,使开发人员不必再与复杂的sql语句打交道   做项目大部分都需要用JAVA来链接数据库,比如你要做一个会员注册的 页面,那么 获取到用户填写的 基本信后,你要把这些基本信息存入数据库对应的表中,不用hibernate还有mybatis之类的框架,都不用的话就得用JDBC,也就是JAVA自己的,用这个东西你要写很多的代码,比如保存注册信
  • SyntaxError: Non-UTF-8 code starting with '\xc4' 随便小屋 python
    刚开始看一下Python语言,传说听强大的,但我感觉还是没Java强吧! 写Hello World的时候就遇到一个问题,在Eclipse中写的,代码如下 ''' Created on 2014年10月27日 @author: Logic ''' print("Hello World!");  运行结果 SyntaxError: Non-UTF-8
  • 学会敬酒礼仪 不做酒席菜鸟 aijuans 菜鸟
    俗话说,酒是越喝越厚,但在酒桌上也有很多学问讲究,以下总结了一些酒桌上的你不得不注意的小细节。 细节一:领导相互喝完才轮到自己敬酒。敬酒一定要站起来,双手举杯。 细节二:可以多人敬一人,决不可一人敬多人,除非你是领导。 细节三:自己敬别人,如果不碰杯,自己喝多少可视乎情况而定,比如对方酒量,对方喝酒态度,切不可比对方喝得少,要知道是自己敬人。 细节四:自己敬别人,如果碰杯,一
  • 《创新者的基因》读书笔记 aoyouzi 读书笔记《创新者的基因》
    创新者的基因   创新者的“基因”,即最具创意的企业家具备的五种“发现技能”:联想,观察,实验,发问,建立人脉。   第一部分破坏性创新,从你开始 第一章破坏性创新者的基因 如何获得启示: 发现以下的因素起到了催化剂的作用:(1) -个挑战现状的问题;(2)对某项技术、某个公司或顾客的观察;(3) -次尝试新鲜事物的经验或实验;(4)与某人进行了一次交谈,为他点醒
  • 表单验证技术 百合不是茶 JavaScriptDOM对象String对象事件
    js最主要的功能就是验证表单,下面是我对表单验证的一些理解,贴出来与大家交流交流  ,数显我们要知道表单验证需要的技术点, String对象,事件,函数   一:String对象;通常是对字符串的操作;   1,String的属性;   字符串.length;表示该字符串的长度; var str= "java"
  • web.xml配置详解之context-param bijian1013 javaservletweb.xmlcontext-param
    一.格式定义: <context-param> <param-name>contextConfigLocation</param-name> <param-value>contextConfigLocationValue></param-value> </context-param> 作用:该元
  • Web系统常见编码漏洞(开发工程师知晓) Bill_chen sqlPHPWebfckeditor脚本
    1.头号大敌:SQL Injection 原因:程序中对用户输入检查不严格,用户可以提交一段数据库查询代码,根据程序返回的结果, 获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。 本质: 对于输入检查不充分,导致SQL语句将用户提交的非法数据当作语句的一部分来执行。 示例: String query = "SELECT id FROM users
  • 【MongoDB学习笔记六】MongoDB修改器 bit1129 mongodb
    本文首先介绍下MongoDB的基本的增删改查操作,然后,详细介绍MongoDB提供的修改器,以完成各种各样的文档更新操作  MongoDB的主要操作 show dbs 显示当前用户能看到哪些数据库 use foobar 将数据库切换到foobar show collections 显示当前数据库有哪些集合 db.people.update,update不带参数,可
  • 提高职业素养,做好人生规划 白糖_ 人生
      培训讲师是成都著名的企业培训讲师,他在讲课中提出的一些观点很新颖,在此我收录了一些分享一下。注:讲师的观点不代表本人的观点,这些东西大家自己揣摩。   1、什么是职业规划:职业规划并不完全代表你到什么阶段要当什么官要拿多少钱,这些都只是梦想。职业规划是清楚的认识自己现在缺什么,这个阶段该学习什么,下个阶段缺什么,又应该怎么去规划学习,这样才算是规划。  
  • 国外的网站你都到哪边看? bozch 技术网站国外
    学习软件开发技术,如果没有什么英文基础,最好还是看国内的一些技术网站,例如:开源OSchina,csdn,iteye,51cto等等。 个人感觉如果英语基础能力不错的话,可以浏览国外的网站来进行软件技术基础的学习,例如java开发中常用的到的网站有apache.org 里面有apache的很多Projects,springframework.org是spring相关的项目网站,还有几个感觉不错的
  • 编程之美-光影切割问题 bylijinnan 编程之美
    package a; public class DisorderCount { /**《编程之美》“光影切割问题” * 主要是两个问题: * 1.数学公式(设定没有三条以上的直线交于同一点): * 两条直线最多一个交点,将平面分成了4个区域; * 三条直线最多三个交点,将平面分成了7个区域; * 可以推出:N条直线 M个交点,区域数为N+M+1。
  • 关于Web跨站执行脚本概念 chenbowen00 Web安全跨站执行脚本
    跨站脚本攻击(XSS)是web应用程序中最危险和最常见的安全漏洞之一。安全研究人员发现这个漏洞在最受欢迎的网站,包括谷歌、Facebook、亚马逊、PayPal,和许多其他网站。如果你看看bug赏金计划,大多数报告的问题属于 XSS。为了防止跨站脚本攻击,浏览器也有自己的过滤器,但安全研究人员总是想方设法绕过这些过滤器。这个漏洞是通常用于执行cookie窃取、恶意软件传播,会话劫持,恶意重定向。在
  • [开源项目与投资]投资开源项目之前需要统计该项目已有的用户数 comsci 开源项目
            现在国内和国外,特别是美国那边,突然出现很多开源项目,但是这些项目的用户有多少,有多少忠诚的粉丝,对于投资者来讲,完全是一个未知数,那么要投资开源项目,我们投资者必须准确无误的知道该项目的全部情况,包括项目发起人的情况,项目的维持时间..项目的技术水平,项目的参与者的势力,项目投入产出的效益.....
  • oracle alert log file(告警日志文件) daizj oracle告警日志文件alert log file
    The alert log is a chronological log of messages and errors, and includes the following items: All internal errors (ORA-00600), block corruption errors (ORA-01578), and deadlock errors (ORA-00060)
  • 关于 CAS SSO 文章声明 denger SSO
    由于几年前写了几篇 CAS 系列的文章,之后陆续有人参照文章去实现,可都遇到了各种问题,同时经常或多或少的收到不少人的求助。现在这时特此说明几点: 1.  那些文章发表于好几年前了,CAS 已经更新几个很多版本了,由于近年已经没有做该领域方面的事情,所有文章也没有持续更新。 2. 文章只是提供思路,尽管 CAS 版本已经发生变化,但原理和流程仍然一致。最重要的是明白原理,然后
  • 初二上学期难记单词 dcj3sjt126com englishword
    lesson 课 traffic 交通 matter 要紧;事物 happy 快乐的,幸福的 second 第二的 idea 主意;想法;意见 mean 意味着 important 重要的,重大的 never 从来,决不 afraid 害怕 的 fifth 第五的 hometown 故乡,家乡 discuss 讨论;议论 east 东方的 agree 同意;赞成 bo
  • uicollectionview 纯代码布局, 添加头部视图 dcj3sjt126com Collection
    #import <UIKit/UIKit.h> @interface myHeadView : UICollectionReusableView { UILabel *TitleLable; } -(void)setTextTitle; @end #import "myHeadView.h" @implementation m
  • N 位随机数字串的 JAVA 生成实现 FX夜归人 javaMath随机数Random
    /** * 功能描述 随机数工具类<br /> * @author FengXueYeGuiRen * 创建时间 2014-7-25<br /> */ public class RandomUtil { // 随机数生成器 private static java.util.Random random = new java.util.R
  • Ehcache(09)——缓存Web页面 234390216 ehcache页面缓存
    页面缓存 目录 1       SimplePageCachingFilter 1.1      calculateKey 1.2      可配置的初始化参数 1.2.1     cach
  • spring中少用的注解@primary解析 jackyrong primary
    这次看下spring中少见的注解@primary注解,例子 @Component public class MetalSinger implements Singer{ @Override public String sing(String lyrics) { return "I am singing with DIO voice
  • Java几款性能分析工具的对比 lbwahoo java
    Java几款性能分析工具的对比 摘自:http://my.oschina.net/liux/blog/51800   在给客户的应用程序维护的过程中,我注意到在高负载下的一些性能问题。理论上,增加对应用程序的负载会使性能等比率的下降。然而,我认为性能下降的比率远远高于负载的增加。我也发现,性能可以通过改变应用程序的逻辑来提升,甚至达到极限。为了更详细的了解这一点,我们需要做一些性能
  • JVM参数配置大全 nickys jvm应用服务器
    JVM参数配置大全 /usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K -XX:PermSize=300M -XX:MaxPermSize=300M -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=5 -
  • 搭建 CentOS 6 服务器(14) - squid、Varnish rensanning varnish
    (一)squid 安装 # yum install httpd-tools -y # htpasswd -c -b /etc/squid/passwords squiduser 123456 # yum install squid -y 设置 # cp /etc/squid/squid.conf /etc/squid/squid.conf.bak # vi /etc/
  • Spring缓存注解@Cache使用 tom_seed spring
    参考资料 http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-cache/ http://swiftlet.net/archives/774   缓存注解有以下三个: @Cacheable      @CacheEvict     @CachePut
  • dom4j解析XML时出现"java.lang.noclassdeffounderror: org/jaxen/jaxenexception"错误 xp9802
    java.lang.NoClassDefFoundError: org/jaxen/JaxenExc 关键字: java.lang.noclassdeffounderror: org/jaxen/jaxenexception 使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使用这种方式 执行时却抛出以下异常: Exceptio