Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml matlab中的Cplex API无法在.sol文件中写入解决方案_Xml_Matlab_Api_Export_Cplex - Fatal编程技术网

Xml matlab中的Cplex API无法在.sol文件中写入解决方案

Xml matlab中的Cplex API无法在.sol文件中写入解决方案,xml,matlab,api,export,cplex,Xml,Matlab,Api,Export,Cplex,我使用Matlab中的CPLEXAPI和yalmip来解决一个简单的Lp问题。解决后,我想将解决方案保存在文件中。解决方案在cplex对象中。 根据帮助文件,方法“cplex.writeSolution('min\u test.sol')”将完成这项工作。但当我打电话给它时,它表明: 使用cplexlink1290时出错 CPLEX错误1217:不存在解决方案 我找不到问题出在哪里。有人知道为什么吗 下面是我使用的源代码 cplex.writeSolution('min_test.sol'))

我使用Matlab中的CPLEXAPI和yalmip来解决一个简单的Lp问题。解决后,我想将解决方案保存在文件中。解决方案在cplex对象中。 根据帮助文件,方法“cplex.writeSolution('min\u test.sol')”将完成这项工作。但当我打电话给它时,它表明:

使用cplexlink1290时出错 CPLEX错误1217:不存在解决方案

我找不到问题出在哪里。有人知道为什么吗

下面是我使用的源代码 cplex.writeSolution('min_test.sol')) 使用cplexlink1290时出错 CPLEX错误1217:不存在解决方案

Cplex/writeSolution中出错


Cplex/subsref中的错误

您是否能够用您可以提供给我们的?如果是,请这样做,我们将帮助您。到目前为止,我们了解到您的模型并没有与输入数据和参数收敛;这就是它无法编写解决方案的原因。对不起,我似乎忘记了一个函数。我已经更新了代码,只设置了“year_present=11”。我可以在我的计算机上独立运行,CPLEX可以获得最佳解决方案。但是,我无法导出解决方案。
clc,clear

year_w = 25;
discount = 0.08;
c_inv_w_raw = 6700/10; 
year_present = 11;

c_inv_w = c_inv_w_raw/year_present;
c_op_g = 0.025 * 8760; 

l_t = 1000; % MW
wind_data = 0.24; % p.u.
p_gc_max = 800; % MW
p_wc_max = -1; % MW 

%% 
p_wc = sdpvar();
p_w = sdpvar();
p_g = sdpvar();

c_inv = p_wc * c_inv_w;
c_op = p_g * c_op_g;

obj = c_inv + c_op;

%% 
cons = [];
cons_name_list=cell(0,1);

cons = [cons,(p_w + p_g == l_t):'PB'];
cons_name_list = cat(1, cons_name_list,{'PB'});

cons = [cons,(p_w <= wind_data * p_wc):'w_u'];
cons_name_list = cat(1, cons_name_list,{'w_u'});

cons = [cons,(p_w >= 0):'w_l'];
cons_name_list = cat(1, cons_name_list,{'w_l'});

if p_gc_max>0
    cons = [cons,(0<=p_g <= p_gc_max):'g_ul'];
    cons_name_list = cat(1, cons_name_list,{'g_ul'});
end
if p_wc_max>0
    cons = [cons,(0<=p_wc <= p_wc_max):'wc_u'];
    cons_name_list = cat(1, cons_name_list,{'wc_u'});
end

fg_calbycplex =true;

%% 
if fg_calbycplex
    disp('cplex');
    [model,recoverymodel,~,internalmodel] = export(cons,obj,sdpsettings('solver','cplex')); 
    model.A   = [model.Aineq;model.Aeq];
    model.lhs  = [-inf(size(model.Aineq,1),1); model.beq];
    model.rhs   = [model.bineq; model.beq];
    model.idxeq = size(model.bineq,1) + (1:size(model.beq,1));

    cplex = Cplex('GTEP');
    cplex.Model.sense = 'minimize';
    cplex.Model.obj   = model.f;
    cplex.Model.lb    = -inf(size(model.Aineq,2),1);
    cplex.Model.ub    = inf(size(model.Aineq,2),1);
    cplex.Model.A     = model.A;
    cplex.Model.lhs   = model.lhs;
    cplex.Model.rhs   = model.rhs;

    tic
    % cplex.DisplayFunc=[] %@disp
    cplex.solve(); 
    toc

    assign(recover(recoverymodel.used_variables),cplex.Solution.x); 

end
      status: 1
statusstring: 'optimal'
        time: 0.0160
     dettime: 0.0028
      objval: 2.2596e+05
           x: [3x1 double]
      method: 2
        dual: [5x1 double]
       basis: [1x1 struct]
 reducedcost: [3x1 double]
          ax: [5x1 double]