过去很久了,之前写论文的经验分享一下。

写毕业论文的时候需要用到遗传算法,网上查了很多资料,由于没时间认真去学算法的内部结构,最后还是选择了MATLAB自带的遗传算法工具箱(MATLAB2017-GA),看着前辈们写的教程很快熟悉了那个操作界面,功能很强大,我先尝试输了简单的函数,很快就把准确的结果求了出来,但是当我把我想要求的自定义函数输好,然后再求解的时候简直快要崩溃,由于自定义函数的每个自变量的系数都是变量,所以每一个个体都需要进行大量计算,再加上复杂的线性非线性约束,每次都是等二十分钟之后算出来一个错误的结果。

这是我遇到的问题,网上查了很久,也没找到解决方式,大概有三四个礼拜都在被这个问题困扰,结果算不出来,论文根本没法进行下去,尝试了各种方法,甚至把每一个m文件点开尝试去看程序的整个计算过程,然而并没有什么卵用,记得好像还有几天就快过年了,那天晚上灵光闪现,我不可能去更改人家已经设计好的m文件,那为什么不把不等式约束加到自定义函数里呢?对于超过不等式约束范围的解在往自定义函数中带的时候,给自定义函数加入一定的惩罚函数,使它在遗传过程中被淘汰掉。

思考过程很漫长,解决方法很简单,以下是我当时写的函数(年代久远,大概参考一下):

------------------------------自定义函数----------------------------------

function Q=myminf(x)

%。。。此处略去一万行

%g1、g2、g3、g4、g5自定义的不等式约束条件,如果小于零,自定义函数为xxx,如果大于零(不符合),就加入惩罚值

if g1<0 && g2<0 && g3<0 && g4<0 && g5<0

Q=9602.4*x(1)-884.36*x(2)+480.12*x(3)+16200*x(1)*x(2)+87735.04;

else

Q=9602.4*x(1)-884.

matlab 遗传算法 等式约束,关于MATLAB遗传算法工具箱不等式约束相关推荐

  1. 关于MATLAB遗传算法工具箱不等式约束

    过去很久了,之前写论文的经验分享一下. 写毕业论文的时候需要用到遗传算法,网上查了很多资料,由于没时间认真去学算法的内部结构,最后还是选择了MATLAB自带的遗传算法工具箱(MATLAB2017-GA ...

  2. 遗传算法加入约束条件matlab,使用matlab遗传算法工具箱如何加入目标函数中变量的约束条件啊,可否在M文件中加?...

    1.首先打开2113matlab软件,在"APP(应用)"5261选项卡4102中选择"Optimization(优化)1653"工具箱版.2.在优化工具箱中选 ...

  3. 遗传算法原理以及MATLAB实现

    1.遗传算法流程图 2.matlab代码 2.1 main.m 主函数 %% 遗传算法,不使用工具包,自行编写函数完成 clear; close all; clc;%% 参数 % 计算x1 ^ 2 - ...

  4. 量子遗传算法原理与MATLAB仿真程序

    写在前面: 1.其实这些智能算法的思想都差不多,只不过是各自搜寻方式.编码方式.种群更新方式等不一样而已. 量子遗传算法是在遗传算法的基础上使用了一种新的编码方式. 2.直接看前面介绍可能会觉得较难, ...

  5. matlab 双层规划求解,双层规划模型的遗传算法求解的Matlab源码

    双层规划模型的遗传算法求解的Matlab源码 双层规划模型的遗传算法求解的Matlab源码 function [BESTX,BESTY,ALLX,ALLY]=GAU (KU,KD,NU,ND,PmU, ...

  6. MATLAB蚁群算法、遗传算法、粒子群算法解决TSP问题(可以直接运行)

    MATLAB蚁群算法.遗传算法.粒子群算法解决TSP问题(可以直接运行) 1. 生成数据文件citys_data.mat 2. 蚁群算法 流程图 代码 结果展示 3.遗传算法 流程图 代码 结果展示 ...

  7. 【Matlab风电功率预测】遗传算法优化BP神经网络风电功率预测【含源码 760期】

    一.代码运行视频(哔哩哔哩) [Matlab风电功率预测]遗传算法优化BP神经网络风电功率预测[含源码 760期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1 ...

  8. 【遗传算法不求人】MATLAB轻代码玩转GA:0-1背包问题+混合整数规划

    [遗传算法不求人]GA实时编辑优化器解决0-1背包问题+混合整数规划 课程简介 视频课程 问题描述 1.初始化,导入数据.设置变量 2.MATLAB语法表示-GA(全局优化器) 3.MATLAB语法表 ...

  9. 详解遗传算法(含MATLAB代码)

    目录 一.遗传算法概述 二.遗传算法的特点和应用 三.遗传算法的基本流程及实现技术 3.1 遗传算法的基本流程 3.2 遗传算法的实现技术 1.编码 2.适应度函数 3.选择算子 4.交叉算子 5.变 ...

最新文章

  1. 围观各大企业如何活用人工智能,并运用实践?
  2. P3项目全球模板狗血设置之一 --- 发货到成本中心需要输入Customer
  3. 程序员和产品经理的恩怨情仇 | 每日趣闻
  4. Docker 1.13 管理命令
  5. WebUploader 上传图片回显
  6. MVC3.0删除数据的时候给提示信息
  7. 创建WebSocket服务器
  8. 【转】WCF、WebAPI、WCFREST、WebService之间的区别
  9. 周鸿祎评互联网大佬的编程能力:我能排前三
  10. windows下的nc下载地址
  11. 绿盾加密导致Visual Stdio无法使用
  12. NXP S32K3 RTD-MCAL快速引导
  13. 淘宝网站的设计与排版
  14. 【软件后门】qq足迹 - qq应用授权管理
  15. 容迟网络中的路由算法学习笔记
  16. 城市之眼视觉计算技术
  17. mysql:innodb存储引擎之表结构
  18. MySQL学习_数据库和表的基本操作
  19. 致远SPM解决方案之进度管理
  20. Java调用打印机打印PDF文档的两种方法

热门文章

  1. c语言内循环外循环怎么使用,开高速, 用内循环还是外循环? 教你正确使用内外循环!...
  2. Qt之HTTP之模仿迅雷——根据URL获取文件信息(上)
  3. 基于opencv的文本检测器
  4. shell脚本特殊变量与变量子串相关知识
  5. SIFT算法问题issue1
  6. Django合并多个查询结果
  7. Java集合类的整理
  8. TFS Server 2017 自动化部署步骤
  9. Head First 设计模式 --4 工厂模式 抽象工厂模式
  10. 一块神奇的树莓派电子板竟让我学会了Linux系统