Archive for '博客'

三角进化算法

三角进化算法(Triangle Evolution简称TE)是由罗长童于2007年提出的一种新型进化算法。TE是实数编码,种群进化,但与遗传算法不同的是它不含个体的选择、杂交、变异等算子。此算法具有群体智能,内在并行性,全局搜索,不包含调试参数,编程简单等优点,是一种效率较高的优化方法。
阅读全文 >

仿生智能优化算法

在仿生智能优化算法中每一个个体都是具有经验和智慧的智能体,个体之间存在互相作用机制,通过相互作用形成强大的群体智慧来解决复杂的问题。仿生智能优化优化算法本质上是一种概率搜索算法,它不需要问题的梯度信息,具有以下不同于传统优化算法的特点:
阅读全文 >

人工免疫算法

人工免疫系统概述

二十世纪八十年代,Farmer等人率先基于免疫网络学说给出了免疫系统的动态模型,并探讨了免疫系统与其它人工智能方法的联系,开始了人工免疫系统的研究。直到1996年12月,在日本首次举行了基于免疫性系统的国际专题讨论会,首次提出了“人工免疫系统” (AIS)的概念。随后,人工免疫系统进入了兴盛发展时期,D. Dasgupta和焦李成等认为人工免疫系统已经成为人工智能领域的理论和应用研究热点,相关论文和研究成果正在逐年增加。1997和1998年IEEE国际会议还组织了相关专题讨论,并成立了“人工免疫系统及应用分会”。D. Dasgupta系统分析了人工免疫系统和人工神经网络的异同,认为在组成单元及数目、交互作用、模式识别、任务执行、记忆学习、系统鲁棒性等方面是相似的,而在系统分布、组成单元间的通信、系统控制等方面是不同的,并指出自然免疫系统是人工智能方法灵感的重要源泉。Gasper等认为多样性是自适应动态的基本特征,而AIS是比GA更好地维护这种多样性的优化方法。
阅读全文 >

人工鱼群算法

在一片水域中,鱼往往能自行或尾随其他鱼找到营养物质多的地方,因而鱼生存数目最多的地方一般就是本水域中营养物质最多的地方,人工鱼群算法(Artificial Fish Swarm Algorithm,AFSA)就是根据这一特点,通过构造人工鱼来模仿鱼群的觅食、聚群及追尾行为,从而实现寻优,以下是人工鱼的几种典型行为
阅读全文 >

和声搜索算法

和声搜索算法简介

和声搜索算法(Harmony search algorithm,亦称为和声算法)是新近问世的一种启发式全局搜索算法,在许多组合优化问题中得到了成功应用。在许多问题上显示出了比遗传算法模拟退火算法和禁忌搜索更好的性能。
阅读全文 >

VBA中播放声音

VBA中我们需要定时或者输入错误时播放声音来给用户进行提示,这是一个比较有用的功能,这里给出一段比较有效的代码,它调用了”winmm.dll”中的sndPlaySoundA函数:
阅读全文 >

VBA中创建全局惟一序号GUID

VBA中创建全局惟一序号:

Private Declare Function CoCreateGuid Lib "OLE32.DLL" (pGuid As GUID) As Long

Private Type GUID
    Data1 As Long
    Data2 As Integer
    Data3 As Integer
    Data4(0 To 7) As Byte
End Type

Public Function CreateGUID() As String
    Dim G As GUID
    With G
    If (CoCreateGuid(G) = 0) Then
    CreateGUID = _
        String$(8 - Len(Hex$(.Data1)), "0") & Hex$(.Data1) & _
        String$(4 - Len(Hex$(.Data2)), "0") & Hex$(.Data2) & _
        String$(4 - Len(Hex$(.Data3)), "0") & Hex$(.Data3) & _
        IIf((.Data4(0) < &H10), "0", "") & Hex$(.Data4(0)) & _
        IIf((.Data4(1) < &H10), "0", "") & Hex$(.Data4(1)) & _
        IIf((.Data4(2) < &H10), "0", "") & Hex$(.Data4(2)) & _
        IIf((.Data4(3) < &H10), "0", "") & Hex$(.Data4(3)) & _
        IIf((.Data4(4) < &H10), "0", "") & Hex$(.Data4(4)) & _
        IIf((.Data4(5) < &H10), "0", "") & Hex$(.Data4(5)) & _
        IIf((.Data4(6) < &H10), "0", "") & Hex$(.Data4(6)) & _
        IIf((.Data4(7) < &H10), "0", "") & Hex$(.Data4(7))
    End If
    End With
End Function

使用时调用:

Dim UniqueID As String
UniqueID = CreateGUID()