NLopt在windows下的安装以及vs下的include可以参考其他博客,本文主要记录nlopt示例程序的c++使用。
数学模型如下:
目标函数求最大值,约束函数为后两行;
#include"nlopt.hpp"
using namespace nlopt;
使用c++接口首先包含.hpp文件,相应的接口名均在nlopt命名空间里。
/**************************************************************************************************/
opt opter(algorithm, unsigned n);
opt opter(LD_SLSQP, 2); //定义一个优化器,使用SLSQP算法,两个优化维度
首先创建一个opt对象,algorithm为NLopt算法支持参数,n为所求问题维度。
目标函数
void nlopt::opt::set_max_objective(nlopt::vfunc f, void* f_data);
opter.set_max_