{"action":"opened","issue":{"url":"https://api.github.com/repos/cvxgrp/cvxpy/issues/286","repository_url":"https://api.github.com/repos/cvxgrp/cvxpy","labels_url":"https://api.github.com/repos/cvxgrp/cvxpy/issues/286/labels{/name}","comments_url":"https://api.github.com/repos/cvxgrp/cvxpy/issues/286/comments","events_url":"https://api.github.com/repos/cvxgrp/cvxpy/issues/286/events","html_url":"https://github.com/cvxgrp/cvxpy/issues/286","id":162474745,"number":286,"title":"Optimal yet slightly infeasible solutions","user":{"login":"nkoep","id":1410485,"avatar_url":"https://avatars.githubusercontent.com/u/1410485?v=3","gravatar_id":"","url":"https://api.github.com/users/nkoep","html_url":"https://github.com/nkoep","followers_url":"https://api.github.com/users/nkoep/followers","following_url":"https://api.github.com/users/nkoep/following{/other_user}","gists_url":"https://api.github.com/users/nkoep/gists{/gist_id}","starred_url":"https://api.github.com/users/nkoep/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nkoep/subscriptions","organizations_url":"https://api.github.com/users/nkoep/orgs","repos_url":"https://api.github.com/users/nkoep/repos","events_url":"https://api.github.com/users/nkoep/events{/privacy}","received_events_url":"https://api.github.com/users/nkoep/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-06-27T15:05:49Z","updated_at":"2016-06-27T15:05:49Z","closed_at":null,"body":"This is in reference to pull request https://github.com/cvxgrp/cvxpy/pull/285. I'm currently trying to solve problem (1.3) from the paper \"One-bit compressed sensing by linear programming\" by Yaniv Plan and Roman Vershynin (https://arxiv.org/abs/1109.4299), but I'm (almost) always getting slightly infeasible solutions.\r\n\r\nIn short, I'm taking a linear transform of a vector, record the signs and then solve a program to minimize the l1-norm of the signal vector subject to a sign consistency constraint that forces the solution to exhibit the same sign pattern as my original vector if transformed by the same matrix and projected on the boolean cube.\r\n\r\nHere's a reference implementation of the experiment as well as an example log: https://gist.github.com/nkoep/6b4992df69b336ff237f4bcfb9eb4f3b. The constraint in question is on line 17. Line 53 prints a feasibility check of the constraint. As you can see from the log, there's a bunch of negative entries in the left-hand side of the constraint. This seems to be a tolerance/precision issue though since all entries in question are rather small (on the order of 1e-12 to 1e-13).\r\n\r\nWith https://github.com/cvxgrp/cvxpy/pull/285 in place I played around with some of MOSEK's internal parameters (see http://docs.mosek.com/7.0/toolbox/Parameters.html), but so far nothing I tried seemed to make any difference, and quite frankly, I got a bit lost in the sea of different parameters. I've solved the same problem with ECOS before but wanted to switch to MOSEK for a large-scale simulation. However, while ECOS generally returns actually feasible solutions more often, that's also not always the case. Could anyone point me to the correct parameter(s) I need to tune to avoid this issue?"}}
{"actor":{"display_login":"nkoep"}}