They are all solving the same problem, just using different methods to find the 
solution. Identical solutions is a good thing.

   Ray


On Nov 3, 2011, at 11:41 AM, Dailan Xu wrote:

> Thank you for your help. Why sometimes there is no difference between the 
> results obtained by different solvers?
> Best Regards
> 
> D. Xu
> 
> 
> 
> On Thu, Nov 3, 2011 at 16:16, Ray Zimmerman <[email protected]> wrote:
> OPF_ALG = 320 relies on the optional package BPMPD_MEX. By the way, those old 
> LP-based OPF solvers are not very good relative to the best solvers available 
> now. For small problems (if you have a 32-bit Matlab) MINOPF (OPF_ALG = 500) 
> is still one of the best. For larger problems, the interior point solvers are 
> better (540, 560).
> 
> They should all give the same answer. If you are seeing differences, it's 
> likely because the termination tolerances on one or more of the algorithms is 
> not small enough.
> 
> -- 
> Ray Zimmerman
> Senior Research Associate
> 419A Warren Hall, Cornell University, Ithaca, NY 14853
> phone: (607) 255-9645
> 
> 
> 
> 
> On Nov 3, 2011, at 11:05 AM, Dailan Xu wrote:
> 
>> The following error was occurred. It doesn't work. 
>> 
>> 
>> ??? Undefined function or variable 'bpopt'.
>> 
>> Error in ==> qps_bpmpd at 282
>>     bp_opt = bpopt;         %% use default options
>> 
>> Error in ==> qps_matpower at 191
>>         [x, f, eflag, output, lambda] = ...
>> 
>> Error in ==> mp_qp at 104
>> [xout, fval, howout, output, lambda] = qps_matpower(H, f, A, l, b, VLB, VUB, 
>> x0,
>> qps_opt);
>> 
>> Error in ==> mp_lp at 83
>> [varargout{1:nargout}] = mp_qp([], varargin{:});
>> 
>> Error in ==> LPrelax at 55
>>     [x2, duals] = mp_lp(f, atemp, btemp, vlb, vub, [], nequs, -1, 100);
>> 
>> Error in ==> LPsetup at 116
>> [x2, dualsred, idx_workc, idx_bindc] = LPrelax(ared, fred, bred, nequsred, 
>> vlbred,
>> vubred, idx_workc, mpopt);
>> 
>> Error in ==> LPconstr at 225
>>     [dx, lambda, idx_workc, idx_bindc] = LPsetup(a_lp, f_lp, rhs_lp, nequ, 
>> vlbdx, vubdx,
>>     idx_workc, mpopt);
>> 
>> Error in ==> lpopf_solver at 157
>> [x, lambda, success] = LPconstr('fun_copf', x0, mpopt, step0, [], [], 
>> 'grad_copf', ...
>> 
>> Error in ==> opf_execute at 148
>>     [results, success, raw] = lpopf_solver(om, mpopt);
>> 
>> Error in ==> opf at 225
>> [results, success, raw] = opf_execute(om, mpopt);
>> 
>> Error in ==> uopf at 128
>> [results, success] = opf(mpc, mpopt);
>> 
>> Error in ==> smartmkt at 90
>> [r, success] = uopf(mpc2, mpopt);
>> 
>> Error in ==> runmarket at 141
>> [co, cb, r, dispatch, success] = smartmkt(mpc, offers, bids, mkt, mpopt);
>> 
>> 
>> 
>> On Thu, Nov 3, 2011 at 15:58, Ray Zimmerman <[email protected]> wrote:
>> mpopt=mpoption('OPF_ALG', 320);
>> offers.P.qty = [10 120 120; 10 145 145; 10 130 130];
>> offers.P.prc = [15 25 50; 10 30 40; 10 20 55];
>> bids = [];
>> mkt = struct();
>> [r, co] = runmarket('case9', offers, bids, mkt, mpopt);
>> 
> 
> 

Reply via email to