gposolver求解正定规划问题使用说明

        在matlab中,对于已处理好的负载回归阵Hb_Load_MCG_g1.mat和Det_Tao_Load_g1.mat,运行phyFesibal_problem.m脚本,会自动求解线性矩阵不等式并生成对应的problem和cpp文件

        此时也可在matlab对该problem进行求解,matlab默认使用sedumi求解器
1、先对problem进行分解

2、输入参数并进行求解,此处rvals和pvals是可输入的变量,因为在我们的目标函数中,回归阵和力矩已处理完毕,不需要输入参数,此处设为0(注:如果在Ⅲ型系统中,为了实时求解,回归阵和力矩必定是在线生成的,rvals和pvals为实时求解提供了可能)


        生成了phyFesi_problem.cpp文件和phyFesi_problem.h文件后,便可在已安装了SDPA环境(具体安装细节待进一步阐述)的linux终端中进行求解,此处相应的主函数为phyFesi_solver.cpp,为了简便操作用终端指令进行编译和运行
已生成的文件如下

使用指令编译中间文件,指令如下
    g++ -DSDPA_SOLVER -DNDEBUG -O3 -I../GpoSolver/include/ -I../SDPA/include/ -I../SDPA/include/include -I./  -c phyFesi_problem.cpp phyFesi_solver.cpp

根据中间文件生成可执行文件
 g++ -std=c++11 -o phyFesi_solver_sdpa phyFesi_problem.o phyFesi_solver.o -I../SDPA/include -I../SDPA/include/include -I/mpich-install/include -L/usr/lib -lsdpa -ldmumps -lmumps_common -lpord -llapack -lblas -lpthread -L../mumps -lmpiseq -lgfortran

 

运行该可执行文件得到求解结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值