Closed jeremyftaylor closed 10 years ago
Jeremy,
Would you mind trying out CVX 3.0 beta and seeing how well it works with the latest ECOS?
On Oct 1, 2014, at 9:29 AM, jeremyftaylor notifications@github.com<mailto:notifications@github.com> wrote:
Hi, hope you can help.
I've been using ecos (with cvx and calling directly from matlab) for a while. Decided to update to the latest version and I now get error messages and/or matlab crashes.
I've attached a description below.
many thanks Jeremy
output of my cvx_version
CVX: Software for Disciplined Convex Programming (c)2014 CVX Research
Version 2.1, Build 1088 (e790d80) Sat Sep 20 22:03:02 2014
Installation info: Path: C:\Users\jeremy.taylor\workspace\Research\tools\cvx MATLAB version: 8.2 (R2013b) OS: Windows 7 amd64 version 6.1 Java version: 1.7.0_11 Verfying CVX directory contents: No missing files. Preferences: Path: C:\Users\jeremy.taylor\AppData\Roaming\MathWorks\MATLAB\cvx_prefs.mat License host: Username: jeremy.taylor Host ID: 1803732b992e (eth3) Installed license: No license installed.
No valid licenses found.
output of ecos Error using ecos ECOS takes 4 to 7 arguments: ECOS(c,G,h,dims), ECOS(c,G,h,dims,opts), ECOS(c,G,h,dims,A,b), or ECOS(c,G,h,dims,A,b,opts)
If i do
clear all; %http://people.brunel.ac.uk/~mastjjb/jeb/or/morelp.htmlhttp://people.brunel.ac.uk/%7Emastjjb/jeb/or/morelp.html n = 2; c = [1; 1]; A = [50, 24; 30, 33]; b = [40_60; 35_60];
cvx_begin cvx_solver ecos variables x(n);
maximize (c' * x); subject to x >= [45; 5]; A*x <= b;
cvx_end
then i get the following error message Error using ecos Internal problem occurred in ECOS while setting up the problem. Please send a bug report with data to Alexander Domahidi. Email: domahidi@control.ee.ethz.chmailto:domahidi@control.ee.ethz.ch Error in cvx_run_solver (line 50) [ varargout{1:nargout} ] = sfunc( inputs{:} ); Error in cvx_solver_shim>solve (line 185) [ yy, xf, info, zz, xK ] = cvx_run_solver( @ecoshttps://github.com/ecos, ecos_c, ecos_G, ecos_h, K, ecos_A, ecos_b, opts, varnames{:}, settings, 7 ); %#ok Error in cvxprob/solve (line 429) [ x, status, tprec, iters ] = shim.solve( At, b, c, cones, quiet, prec, solv.settings, eargs{:} ); Error in cvx_end (line 88) solve( prob );
for a different problem it gets a bit further but then crashes matlab with a segfault
n = 2; c = [1; 1]; A = [50, 24; 30, 33]; b = [40_60; 35_60]; cvx_begin cvx_solver ecos % without this line, CVX will use its default solver variable x(n)
minimize sum_square(A*x - b) subject to x >= 0
cvx_end
— Reply to this email directly or view it on GitHubhttps://github.com/ifa-ethz/ecos/issues/83.
Hmm, not getting very far with cvx 3.0 and that's before i try mixing in ecos. It appears to be rather less tolerant of my (admittedly totally sloppy) quadratic forms... is that to be expected? e.g. cor = [2, 0.9 ; 0.9, 1]; cvx_clear cvx_begin variable x(2) minimise(x' * cor * x) subject to x == nonnegative(2); cvx_end x = x./ sum(x);
gives: Error using * (line 174) Disciplined convex programming error: Invalid operation: * {real affine vector}
That's odd. Well, I'd roll back then, at least until I figure that out. That should not happen.
On Oct 1, 2014, at 10:03 AM, jeremyftaylor notifications@github.com<mailto:notifications@github.com> wrote:
Hmm, not getting very far with cvx 3.0 and that's before i try mixing in ecos. It appears to be rather less tolerant of my (admittedly totally sloppy) quadratic forms... is that to be expected? e.g. cor = [2, 0.9 ; 0.9, 1]; cvx_clear cvx_begin variable x(2) minimise(x' * cor * x) subject to x == nonnegative(2); cvx_end x = x./ sum(x);
gives: Error using * (line 174) Disciplined convex programming error: Invalid operation: * {real affine vector}
— Reply to this email directly or view it on GitHubhttps://github.com/ifa-ethz/ecos/issues/83#issuecomment-57478085.
Here, try this replacement for cvx/builtins/@cvx/mtimes.m
On Oct 1, 2014, at 10:03 AM, jeremyftaylor notifications@github.com<mailto:notifications@github.com> wrote:
Hmm, not getting very far with cvx 3.0 and that's before i try mixing in ecos. It appears to be rather less tolerant of my (admittedly totally sloppy) quadratic forms... is that to be expected? e.g. cor = [2, 0.9 ; 0.9, 1]; cvx_clear cvx_begin variable x(2) minimise(x' * cor * x) subject to x == nonnegative(2); cvx_end x = x./ sum(x);
gives: Error using * (line 174) Disciplined convex programming error: Invalid operation: * {real affine vector}
� Reply to this email directly or view it on GitHubhttps://github.com/ifa-ethz/ecos/issues/83#issuecomment-57478085.
Actually, neither of the examples you gave involved quadratic forms anyway. Please try the very models you submitted for your bug report.
On Oct 1, 2014, at 10:03 AM, jeremyftaylor notifications@github.com<mailto:notifications@github.com> wrote:
Hmm, not getting very far with cvx 3.0 and that's before i try mixing in ecos. It appears to be rather less tolerant of my (admittedly totally sloppy) quadratic forms... is that to be expected? e.g. cor = [2, 0.9 ; 0.9, 1]; cvx_clear cvx_begin variable x(2) minimise(x' * cor * x) subject to x == nonnegative(2); cvx_end x = x./ sum(x);
gives: Error using * (line 174) Disciplined convex programming error: Invalid operation: * {real affine vector}
— Reply to this email directly or view it on GitHubhttps://github.com/ifa-ethz/ecos/issues/83#issuecomment-57478085.
Fair point. Unfortunately they give exactly the same combination of errors and crashes. I should note that i have to manually run makemex within the ecos/matlab folder. My current mex setup uses the following compiler "Microsoft Software Development Kit (SDK) 7.1 in C:\Program Files (x86)\Microsoft Visual Studio 10.0".
I will investigate the crashes as soon as I get to it - might be beginning of next week though.
OK. Good to know. Obviously there's no reason why CVX should cause ECOS to crash. That's not to say CVX isn't at fault for, say, incorrect results. But not for crashes!
On Oct 1, 2014, at 10:27 AM, jeremyftaylor notifications@github.com<mailto:notifications@github.com> wrote:
Fair point. Unfortunately they give exactly the same combination of errors and crashes. I should note that i have to manually run makemex within the ecos/matlab folder. My current mex setup uses the following compiler "Microsoft Software Development Kit (SDK) 7.1 in C:\Program Files (x86)\Microsoft Visual Studio 10.0".
— Reply to this email directly or view it on GitHubhttps://github.com/ifa-ethz/ecos/issues/83#issuecomment-57482578.
@jeremyftaylor When I run your example on my Mac it runs perfectly fine. Can you try again, please? It seems to be a Windows-related issue then, I guess. Just double checking.
This should be fixed now in the develop branch. I have also updated the Win32 and Win64 Matlab Mex binaries.
Hi, hope you can help.
I've been using ecos (with cvx and calling directly from matlab) for a while. Decided to update to the latest version and I now get error messages and/or matlab crashes.
I've attached a description below.
many thanks Jeremy
output of my cvx_version
CVX: Software for Disciplined Convex Programming (c)2014 CVX Research
Version 2.1, Build 1088 (e790d80) Sat Sep 20 22:03:02 2014
Installation info: Path: C:\Users\jeremy.taylor\workspace\Research\tools\cvx MATLAB version: 8.2 (R2013b) OS: Windows 7 amd64 version 6.1 Java version: 1.7.0_11 Verfying CVX directory contents: No missing files. Preferences: Path: C:\Users\jeremy.taylor\AppData\Roaming\MathWorks\MATLAB\cvx_prefs.mat License host: Username: jeremy.taylor Host ID: 1803732b992e (eth3) Installed license: No license installed.
No valid licenses found.
output of ecos Error using ecos ECOS takes 4 to 7 arguments: ECOS(c,G,h,dims), ECOS(c,G,h,dims,opts), ECOS(c,G,h,dims,A,b), or ECOS(c,G,h,dims,A,b,opts)
If i do
clear all; %http://people.brunel.ac.uk/~mastjjb/jeb/or/morelp.html n = 2; c = [1; 1]; A = [50, 24; 30, 33]; b = [40_60; 35_60];
cvx_begin cvx_solver ecos variables x(n);
cvx_end
then i get the following error message Error using ecos Internal problem occurred in ECOS while setting up the problem. Please send a bug report with data to Alexander Domahidi. Email: domahidi@control.ee.ethz.ch Error in cvx_run_solver (line 50) [ varargout{1:nargout} ] = sfunc( inputs{:} ); Error in cvx_solver_shim>solve (line 185) [ yy, xf, info, zz, xK ] = cvx_run_solver( @ecos, ecos_c, ecos_G, ecos_h, K, ecos_A, ecos_b, opts, varnames{:}, settings, 7 ); %#ok Error in cvxprob/solve (line 429) [ x, status, tprec, iters ] = shim.solve( At, b, c, cones, quiet, prec, solv.settings, eargs{:} ); Error in cvx_end (line 88) solve( prob );
for a different problem it gets a bit further but then crashes matlab with a segfault
n = 2; c = [1; 1]; A = [50, 24; 30, 33]; b = [40_60; 35_60]; cvx_begin cvx_solver ecos % without this line, CVX will use its default solver variable x(n)
cvx_end