TDM-GCC MINGW配置与优化算法测试函数使用

安装TDM-GCC MINGW

点击这里即可下载TDM-GCC MINGW,注意跳转到页面后等待几秒会自动开始下载,如果要配置到matlab下载的版本需要6.3.0版本,这个链接进入之后下载的就是6.3.0版本。 下面是下载页面

在下载完成之后,使用压缩软件将文件压缩至路径内,建议安装在D盘里,记录下下载的路径,将在配置环境时使用。

配置环境变量

打开电脑的高级系统设置并点击环境变量。

点开下方系统变量的新建按钮创建一个环境变量

变量名设置为:MW_MINGW64_LOC

变量的值是压缩的文件的路径,将路径直接复制添加到值当中

点击path变量进行添加,目的是为了方便查询下载的版本是否符合要求

添加内容为%MW_MINGW64_LOC%\bin

配置完成后点击确定,然后进入cmd窗口(win+r键后在弹出的窗口输入cmd然后回车)

在cmp窗口输入文件安装位置所在的盘,比如D盘则输入:D: 然后回车如果在C盘则不用这一步操作

输入gcc -v 然后回车可以看到如下界面

可以看到我们下载的版本是6.3.0

接下来进入matlab的命令行窗口进行操作

输入如下命令

setenv(‘MW_MINGW64_LOC’,’这里填所下载的文件的路径’)

mex -setup C++,成功后可以看到如下显示

这样编译环境就配置成功了

# 测试函数的使用 这里以CEC2013的测试函数集来举例

首先在matlab界面打开文件夹并在命令行窗口输入mex cec13_func.cpp 注:cec13.func.cpp是所需编译的c++文件名

这样我们就可以对这个测试集当中的函数进行调用了

对于举例的这个测试函数集调用方式是f = cec13_func(x,func_num);

输入的参数x是一个D*pop维的矩阵,即初始种群,注:这里求适应度的是对列向量操作,必要时可以将输入的x矩阵进行转置后输入即f = cec13_func(x’,func_num);

注:这里求得的适应度是一次性求一整个种群的所有个体,并非一个一个求。

还有另一种测试函数集的形式

这个就可以对函数句柄进行直接调用了,例如这个的调格式就是f=benchmark_func(x,func_num)

注:这个测试集是在github上下载的,但是我在实际使用时发现代码无法直接使用,进行了一些修改才能正常使用。