自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 飞蛾扑火优化算法

飞蛾扑火优化(Moth-flame optimization,MFO),由Seyedali Mirjalili在2015年提出,为优化领域提供了一种新的启发式搜索范式:螺旋搜索。飞蛾在夜间有一种特殊的导航方式:横向定向。即它会与月亮(光源)保持一定的角度飞行,从而能够保持直线的飞行路径,但是,这种方式只在光源离飞蛾较远的情况下才有效。当有人造光源存在时,飞蛾会被人工灯光所欺骗,一直保持与人造灯光相同的角度飞行,由于它与光源的距离过近,它飞行的路径已经不是直线,而是一种螺旋的路径。受这种自然现象的启发,S

2020-07-12 14:21:23 4132

原创 引力搜索算法

最近在论文中看到有学者用改进的引力搜索算法解优化问题,有一个较好的效果,于是去了解了一下这个算法。引力搜索算法(Gravitational Search Algorithm,GSA)是Esmat Rashedi等人在2009年提出的一种随机性启发式搜索算法,这种算法的灵感来自于牛顿的万有引力定律与运动定律:1.任意两个质点有通过连心线方向上的力相互吸引,该引力大小与它们质量的乘积成正比与它们距离的平方成反比。2.力使物体获得加速度。在GSA中,质点被抽象成解空间的一个解,解之间存在一个相互吸引力,这个吸

2020-07-03 21:10:37 7982 3

原创 Python GUI设计:改变鼠标光标处图形属性

最近在做一些优化实验,需要将结果进行可视化输出,但是有时候输出的图形无法看出结果的可行性,需要对图形属性进行动态修改才能辨别图形结果的合理性。在网上找了很多Canvas事件操作的例子,但一直没找到鼠标光标动态获取图形并改变图形属性的例子,只能自己到Canvas的成员函数中去找,最后找到了Canvas的find_closest()方法,能够获取坐标处最近的对象进行操作,才解决了这个问题。from tkinter import *def changeWidth(event): cv.itemco

2020-06-28 21:06:37 1717

原创 自适应大邻域搜索算法

自适应大邻域搜索算法(Adaptive Large Neighborhood Search)是由Ropke与Pisinger在2006年提出的一种启发式方法,其在邻域搜索的基础上增加了的对算子的作用效果的衡量,使算法能够自动选择好的算子对解进行破坏与修复,从而有一定几率得到更好的解。在邻域搜索算法中,有的算法可以只使用一种邻域,如模拟退火算法,因此它仅仅搜索了解空间的一小部分,找到全局最优的概率较小,它的优势之一是可以避免陷入局部最优;而有的算法可以使用多种算子,如变邻域搜索算法,它通过在当前解的多个邻域中

2020-06-16 20:50:10 11987

原创 人工鱼群算法

人工鱼群算法是由国内李晓磊博士等人提出的一种新型仿生群智能优化算法,李博士从分析鱼类的活动出发,采用有别于传统的设计方法,以自下而上的设计思想,应用基于行为的智能方法,提出了一种新的鱼群模式。真实的鱼类个体,其感知周围环境的变化是通过视觉或味觉实现的,此外,观察鱼类的行为,可以发现鱼类会有以下几种行为表现:(1)觅食行为。一般情况下鱼在水中随机地自由游动,当发现食物时,则会向食物逐渐增多的方向快速游去。(2)聚群行为:鱼在游动过程中为了保证自身的生存和躲避危害会自然地聚集成群,鱼聚群时所遵守的规则有三

2020-05-28 14:16:49 5738

原创 禁忌搜索算法

禁忌搜索(Tabu Search)算法是一种亚启发式(meta-heuristic)随机搜索算法,它从一个初始可行解出发,选择一系列的特定搜索方向(移动)作为试探,选择实现让特定的目标函数值变化最多的移动。为了避免陷入局部最优解,TS采用了一种灵活的“记忆”技术,对已经进行的优化过程进行记录和选择,指导下一步的搜索方向,这就是Tabu表的建立。禁忌搜索算法的步骤如下:1.选定一个初始解X,给定一个禁忌表H。2.若满足停止条件,则停止计算;否则,在X的邻域中选出满足禁忌要求(当某个解足够好的时候,可以打

2020-05-26 14:58:08 1183

原创 变邻域搜索算法

变邻域搜索算法,于1997年由Hansen和Mladenovi首次提出,已经成为国内外的一个研究热点。作为一种经典的启发式算法,其在众多领域涌现了大量的研究成果。它的基本思想是在搜索过程中系统地改变邻域结构集来拓展搜索范围, 获得局部最优解, 再基于此局部最优解重新系统地改变邻域结构集拓展搜索范围找到另一个局部最优解的过程。启发式方法一般用于生成NP-hard问题的初始解,好的启发式算法不仅能较快找出当前解周围的局部最优解,更能够跳出局部最优的桎梏,去更广阔的的天地寻找更满意的解,从而收敛于全局最优。VN

2020-05-26 11:12:58 5042 6

原创 运输问题

from mip import Model, xsum, minimize, INTEGERimport numpy as npdef optModel(a, b, c): model = Model("transportation") x = [[model.add_var(var_type=INTEGER) for j in range(len(b))] for i in range(len(a))] model.objective = minimize(xsum(x.

2020-05-15 14:55:07 711 2

原创 动态规划--机器负荷分配问题

from mip import Model, xsum, maximize, INTEGERdef optModel(m, n, g, h, a, b): model = Model("machine_load_distribution") x1 = [model.add_var(var_type=INTEGER) for i in range(n)] #高负荷运行的机器数量 x2 = [model.add_var(var_type=INTEGER) for i in.

2020-05-15 13:52:42 2475

原创 使用python-MIP软件包解最优化问题

最优化问题是运筹学与数学需要解决的主要问题之一,目的是在一定的约束条件下,找到问题的最优解,并找出取得最优解的一般条件。现实中很多问题,我们都能通过数学模型求解出其最优解,然而当问题规模逐渐增大时,原来的解法可能耗费的时间会呈指数形式增长,当规模增大到一定的程度,问题便变得不可及算了,这时我们称这种问题为NP问题,即在问题的规模没有限制的情况下,我们找不到一个确定的解法能在多项式时间内算出这个问题的最优解,我们只能在多项式时间内找出它的“满意解”,并且告诉你这个解好不好。使用python解决最优化问题时,

2020-05-13 14:54:35 2675

原创 整数规划--指派问题

在生活中经常遇到这样的问题,某单位需完成n项任务,恰好有n个人可承担这些任务。由于每人的专长不同,各人完成任务不同(或 所费时间),效率也不同。于是产生应指派哪个人去完成哪项任务 ,使完成n项任务的总效率最高(或所需总时间最小)。• 这类问题称为指派问题或分派问题(assignment problem)。• 例:有一份中文说明书,需译成英、日、德、俄四种文字。分 别记作E、J、G、R。现有甲、...

2020-05-07 20:15:29 9288 2

原创 线性规划--大M法

大M法其实就是单纯形法,只不过稍稍加了一点改动,用来解决线性规划标准型中存在人工变量的问题。import numpy as np#单纯形法--大M法# min Z = -3X1 + X2 + x3# X1 - 2X2 + x3 <= 11# -4X1 + X2 + 2x3 >= 3# -2X1 + x3 = 1# X1 , X2, x3 >= 0def get...

2020-05-06 20:25:39 5511

原创 生成不重复的0-1序列排列组合

在用隐枚举法解0-1型整数线性规划时,需要生成对应于自变量个数的不重复的0-1序列的排列组合。下面是用一个两层循环实现生成0-1型整数线性规划问题解空间的代码。def generateSequence(n): x = [] x.append([0 for i in range(n)]) xTran = [] m = 0 while len(x) != 2 ...

2020-04-25 13:04:35 855

原创 0-1型整数线性规划--隐枚举法

0-1型整数线性规划是整数线性规划中的特殊情形,它的变量????????仅 取值0或1。这时????????称为0-1变量,或称二进制变量。 解0-1型整数线性规划最直观的方法,就是枚举法,即检查变量取 值为0或1的每一种组合,比较目标函数值以求得最优解,这需要 检查变量取值的????????个组合。 对于变量个数n较大(例如n>10),这几乎是不可能的。 因此常设计一些方法,只检查变量取值的组合的一部分,就能求到问题...

2020-04-22 21:17:21 7801 1

原创 带负权的最短路问题--表上作业法

求V1到各点的最短路径。import numpy as npinfinity = float("inf")dismat = np.array([[0,-1,-2,3,infinity,infinity,infinity,infinity], [6,0,infinity,infinity,2,infinity,infinity,infinity], ...

2020-04-21 12:53:02 618

原创 图与网络优化--dijkstra算法

给定赋权有向图D=(V, A)。 开始(i=0)给 Vs 以 P标号, 即P(Vs)=0, λ(Vs)=0;其余各点均给T标号,即对每一 个V≠Vs,T(V)=+∞,λ(V)=M。令S0={Vs} ① 如果Si=V,算法终止,这时,对每个 V∈Si,d(Vs,V)=P(V);否则转入②。 ② 若Vk为刚获得P标号的点,考查每个使 (Vk,Vj)∈A且Vj不属于Si的点Vj。如果T(V...

2020-04-20 19:20:04 346

原创 模拟退火算法

模拟退火算法来源于固体退火原理,是一种基于概率的算法,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。模拟退火算法的基本步骤如下:(1) 初始化:初始温度T(充分大),初始解状态S(是算法迭代的起点),每个T值的迭代次数L(2) 对k=1, …, L做第(3)至第6步:...

2020-04-18 21:08:06 504

原创 蚁群优化算法

蚁群算法是对自然界蚂蚁的寻径方式进行模似而得出的一种仿生算法。蚂蚁在运动过程中,能够在它所经过的路径上留下一种称之为外激素(pheromone)的物质进行信息传递,而且蚂蚁在运动过程中能够感知这种物质,并以此指导自己的运动方向,因此由大量蚂蚁组成的蚁群集体行为便表现出一种信息正反馈现象:某一路径上走过的蚂蚁越多,则后来者选择该路径的概率就越大。在蚁群寻找食物时,它们总能找到一条从食物到巢穴之间的...

2020-04-17 17:16:32 1252

原创 遗传算法

生物的进化是一个奇妙的优化过程,

2020-04-14 20:33:55 301

原创 误差反向传播的C++实现

BP(back propagation)神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照误差逆向传播算法训练的多层前馈神经网络,是应用最广泛的神经网络。BP算法的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。即计算误差输出时按从输入到输出的方向进行,而调整权值和阈值则从输出到输入的方向进行。正向传播时,输入信号通过隐含层作用于...

2020-04-12 19:25:38 1198

原创 粒子群优化算法

PSO中,每个优化问题的解都是搜索空间中的一只鸟。称之为“粒子(Particle)”。所有的粒子都有一个由被优化的函数决定的适应值,每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当 前的最优粒子在解空间中搜索。PSO 初始化为一群随机粒子。然后通过叠代找到最优解。在每一次叠代中,粒子通过跟踪两个"极值" 来更新自己。第一个就是粒子本身所找到的最优解。 这个解叫做个体极值pBest...

2020-04-08 21:01:40 796

原创 线性规划--单纯形法

刚开始学单纯形法的时候觉得它也太复杂了8,什么基变换啊,什么迭代啊。。。完全不知所云,后来看了几遍后才渐渐对它的原理与计算方法有了更深入的理解,关于单纯形法的理解建议参考简单易懂的单纯形法理解文中虽然有些小错误,但不影响读者对内容的理解。简而言之,单纯形法就是先找出一个基本可行解,对它进行鉴别,看是否是最优解;若不是,则按照一定法则转换到另一改进后更优的基本可行解,再鉴别;若仍不是,则再转换,按...

2020-04-07 14:21:00 1179

原创 动态规划--资源离散分配问题

动态规划–资源离散分配(python代码)问题:资源离散分配问题(问题来自中国大学MOOC-华中科技大学-运筹学)动态规划的思想在于把一个大问题化成一些同类型的子问题,然后逐个求解。从边界条件开始递推,每一个子问题的解决,均使用到了前面子问题的最优结果,对于本题而言,就是要在逆向递推的过程中,不断更新价格表与问题的最佳选择,具体的代码如下:import numpy as np#动态规划...

2020-04-02 14:47:57 3141 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除