# Fail to solve QP with "inactive" bounds

We have tried to solve some qp problems. The OSQP can successfully solve the problems, but if we add some bounds, where the solutions are included in those bounds, there will be some chances that OSQP fails to find a solution. Is this expected behavior? Thanks!

In case you need it, here is an example that you can refer:

P_data = 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,

P_indices = 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,

P_indptr = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,

q = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

A_data = -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, 1, -1, 1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2,

A_indices = 0, 15, 20, 0, 1, 20, 23, 1, 2, 23, 26, 2, 3, 26, 29, 3, 4, 29, 32, 4, 5, 32, 35, 5, 6, 35, 38, 6, 7, 38, 41, 7, 8, 41, 44, 8, 9, 44, 47, 9, 10, 47, 50, 10, 11, 50, 53, 11, 12, 53, 56, 12, 13, 56, 59, 13, 14, 59, 62, 14, 19, 62, 16, 20, 21, 21, 23, 24, 24, 26, 27, 27, 29, 30, 30, 32, 33, 33, 35, 36, 36, 38, 39, 39, 41, 42, 42, 44, 45, 45, 47, 48, 48, 50, 51, 51, 53, 54, 54, 56, 57, 57, 59, 60, 60, 62, 63, 18, 63, 17, 20, 21, 22, 22, 23, 24, 25, 25, 26, 27, 28, 28, 29, 30, 31, 31, 32, 33, 34, 34, 35, 36, 37, 37, 38, 39, 40, 40, 41, 42, 43, 43, 44, 45, 46, 46, 47, 48, 49, 49, 50, 51, 52, 52, 53, 54, 55, 55, 56, 57, 58, 58, 59, 60, 61, 61, 62, 63, 64, 64, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,

A_indptr = 0, 3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47, 51, 55, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92, 95, 98, 101, 104, 107, 109, 113, 117, 121, 125, 129, 133, 137, 141, 145, 149, 153, 157, 161, 165, 169, 170, 173, 176, 179, 182, 185, 188, 191, 194, 197, 200, 203, 206, 209, 212, 215, 215,

lower_bounds = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.05, 0.6, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

upper_bounds = 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 0, 0.05, 0.6, 0, 1.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

After we add some “redundant” bounds, the matrix A and upper/lower bounds become:

A_data = -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2,

A_indices = 0, 15, 49, 0, 1, 49, 52, 1, 2, 52, 55, 2, 3, 55, 58, 3, 4, 58, 61, 4, 5, 61, 64, 5, 6, 64, 67, 6, 7, 67, 70, 7, 8, 70, 73, 8, 9, 73, 76, 9, 10, 76, 79, 10, 11, 79, 82, 11, 12, 82, 85, 12, 13, 85, 88, 13, 14, 88, 91, 14, 19, 91, 16, 49, 50, 20, 50, 52, 53, 21, 53, 55, 56, 22, 56, 58, 59, 23, 59, 61, 62, 24, 62, 64, 65, 25, 65, 67, 68, 26, 68, 70, 71, 27, 71, 73, 74, 28, 74, 76, 77, 29, 77, 79, 80, 30, 80, 82, 83, 31, 83, 85, 86, 32, 86, 88, 89, 33, 89, 91, 92, 18, 92, 17, 49, 50, 51, 34, 51, 52, 53, 54, 35, 54, 55, 56, 57, 36, 57, 58, 59, 60, 37, 60, 61, 62, 63, 38, 63, 64, 65, 66, 39, 66, 67, 68, 69, 40, 69, 70, 71, 72, 41, 72, 73, 74, 75, 42, 75, 76, 77, 78, 43, 78, 79, 80, 81, 44, 81, 82, 83, 84, 45, 84, 85, 86, 87, 46, 87, 88, 89, 90, 47, 90, 91, 92, 93, 48, 93, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,

A_indptr = 0, 3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47, 51, 55, 59, 62, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105, 109, 113, 117, 121, 123, 127, 132, 137, 142, 147, 152, 157, 162, 167, 172, 177, 182, 187, 192, 197, 199, 202, 205, 208, 211, 214, 217, 220, 223, 226, 229, 232, 235, 238, 241, 244, 244,

lower_bounds = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.05, 0.6, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

upper_bounds = 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 0, 0.05, 0.6, 0, 1.5, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

I assume that by “failure” you mean that the maximum number of iterations is reached. It is possible that this happens since including additional constraints will change the dynamics of the optimization method.

Can you provide an example where such behavior occurs?

Thanks a lot for the reply. Here is an example:

P_data = 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,

P_indices = 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,

P_indptr = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,

q = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

A_data = -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, 1, -1, 1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2,

A_indices = 0, 15, 20, 0, 1, 20, 23, 1, 2, 23, 26, 2, 3, 26, 29, 3, 4, 29, 32, 4, 5, 32, 35, 5, 6, 35, 38, 6, 7, 38, 41, 7, 8, 41, 44, 8, 9, 44, 47, 9, 10, 47, 50, 10, 11, 50, 53, 11, 12, 53, 56, 12, 13, 56, 59, 13, 14, 59, 62, 14, 19, 62, 16, 20, 21, 21, 23, 24, 24, 26, 27, 27, 29, 30, 30, 32, 33, 33, 35, 36, 36, 38, 39, 39, 41, 42, 42, 44, 45, 45, 47, 48, 48, 50, 51, 51, 53, 54, 54, 56, 57, 57, 59, 60, 60, 62, 63, 18, 63, 17, 20, 21, 22, 22, 23, 24, 25, 25, 26, 27, 28, 28, 29, 30, 31, 31, 32, 33, 34, 34, 35, 36, 37, 37, 38, 39, 40, 40, 41, 42, 43, 43, 44, 45, 46, 46, 47, 48, 49, 49, 50, 51, 52, 52, 53, 54, 55, 55, 56, 57, 58, 58, 59, 60, 61, 61, 62, 63, 64, 64, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,

A_indptr = 0, 3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47, 51, 55, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92, 95, 98, 101, 104, 107, 109, 113, 117, 121, 125, 129, 133, 137, 141, 145, 149, 153, 157, 161, 165, 169, 170, 173, 176, 179, 182, 185, 188, 191, 194, 197, 200, 203, 206, 209, 212, 215, 215,

lower_bounds = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.05, 0.6, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

upper_bounds = 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 0, 0.05, 0.6, 0, 1.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

After adding more constraints, A and lower/upper bounds become:
A_data = -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2,

A_indices = 0, 15, 49, 0, 1, 49, 52, 1, 2, 52, 55, 2, 3, 55, 58, 3, 4, 58, 61, 4, 5, 61, 64, 5, 6, 64, 67, 6, 7, 67, 70, 7, 8, 70, 73, 8, 9, 73, 76, 9, 10, 76, 79, 10, 11, 79, 82, 11, 12, 82, 85, 12, 13, 85, 88, 13, 14, 88, 91, 14, 19, 91, 16, 49, 50, 20, 50, 52, 53, 21, 53, 55, 56, 22, 56, 58, 59, 23, 59, 61, 62, 24, 62, 64, 65, 25, 65, 67, 68, 26, 68, 70, 71, 27, 71, 73, 74, 28, 74, 76, 77, 29, 77, 79, 80, 30, 80, 82, 83, 31, 83, 85, 86, 32, 86, 88, 89, 33, 89, 91, 92, 18, 92, 17, 49, 50, 51, 34, 51, 52, 53, 54, 35, 54, 55, 56, 57, 36, 57, 58, 59, 60, 37, 60, 61, 62, 63, 38, 63, 64, 65, 66, 39, 66, 67, 68, 69, 40, 69, 70, 71, 72, 41, 72, 73, 74, 75, 42, 75, 76, 77, 78, 43, 78, 79, 80, 81, 44, 81, 82, 83, 84, 45, 84, 85, 86, 87, 46, 87, 88, 89, 90, 47, 90, 91, 92, 93, 48, 93, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,

A_indptr = 0, 3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47, 51, 55, 59, 62, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105, 109, 113, 117, 121, 123, 127, 132, 137, 142, 147, 152, 157, 162, 167, 172, 177, 182, 187, 192, 197, 199, 202, 205, 208, 211, 214, 217, 220, 223, 226, 229, 232, 235, 238, 241, 244, 244,

lower_bounds = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.05, 0.6, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

upper_bounds = 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 0, 0.05, 0.6, 0, 1.5, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

Thanks a lot for the reply. Here is an example:

P_data = 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,

P_indices = 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,

P_indptr = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,

q = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

A_data = -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, -1, 0.2, 1, 1, -1, 1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.02, 0.2, 1, -1, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2,

A_indices = 0, 15, 20, 0, 1, 20, 23, 1, 2, 23, 26, 2, 3, 26, 29, 3, 4, 29, 32, 4, 5, 32, 35, 5, 6, 35, 38, 6, 7, 38, 41, 7, 8, 41, 44, 8, 9, 44, 47, 9, 10, 47, 50, 10, 11, 50, 53, 11, 12, 53, 56, 12, 13, 56, 59, 13, 14, 59, 62, 14, 19, 62, 16, 20, 21, 21, 23, 24, 24, 26, 27, 27, 29, 30, 30, 32, 33, 33, 35, 36, 36, 38, 39, 39, 41, 42, 42, 44, 45, 45, 47, 48, 48, 50, 51, 51, 53, 54, 54, 56, 57, 57, 59, 60, 60, 62, 63, 18, 63, 17, 20, 21, 22, 22, 23, 24, 25, 25, 26, 27, 28, 28, 29, 30, 31, 31, 32, 33, 34, 34, 35, 36, 37, 37, 38, 39, 40, 40, 41, 42, 43, 43, 44, 45, 46, 46, 47, 48, 49, 49, 50, 51, 52, 52, 53, 54, 55, 55, 56, 57, 58, 58, 59, 60, 61, 61, 62, 63, 64, 64, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,

A_indptr = 0, 3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47, 51, 55, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92, 95, 98, 101, 104, 107, 109, 113, 117, 121, 125, 129, 133, 137, 141, 145, 149, 153, 157, 161, 165, 169, 170, 173, 176, 179, 182, 185, 188, 191, 194, 197, 200, 203, 206, 209, 212, 215, 215,

lower_bounds = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.05, 0.6, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

upper_bounds = 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 0, 0.05, 0.6, 0, 1.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

After adding more constraints, A and lower/upper bounds become:
A_data = -1, 1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, -1, -1, 1, 1, 1, -1, 1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 0.2, 1, 1, -1, 1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.02, 0.2, 1, 1, -1, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2, 0.00133334, 0.02, 0.2,

A_indices = 0, 15, 49, 0, 1, 49, 52, 1, 2, 52, 55, 2, 3, 55, 58, 3, 4, 58, 61, 4, 5, 61, 64, 5, 6, 64, 67, 6, 7, 67, 70, 7, 8, 70, 73, 8, 9, 73, 76, 9, 10, 76, 79, 10, 11, 79, 82, 11, 12, 82, 85, 12, 13, 85, 88, 13, 14, 88, 91, 14, 19, 91, 16, 49, 50, 20, 50, 52, 53, 21, 53, 55, 56, 22, 56, 58, 59, 23, 59, 61, 62, 24, 62, 64, 65, 25, 65, 67, 68, 26, 68, 70, 71, 27, 71, 73, 74, 28, 74, 76, 77, 29, 77, 79, 80, 30, 80, 82, 83, 31, 83, 85, 86, 32, 86, 88, 89, 33, 89, 91, 92, 18, 92, 17, 49, 50, 51, 34, 51, 52, 53, 54, 35, 54, 55, 56, 57, 36, 57, 58, 59, 60, 37, 60, 61, 62, 63, 38, 63, 64, 65, 66, 39, 66, 67, 68, 69, 40, 69, 70, 71, 72, 41, 72, 73, 74, 75, 42, 75, 76, 77, 78, 43, 78, 79, 80, 81, 44, 81, 82, 83, 84, 45, 84, 85, 86, 87, 46, 87, 88, 89, 90, 47, 90, 91, 92, 93, 48, 93, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93,

A_indptr = 0, 3, 7, 11, 15, 19, 23, 27, 31, 35, 39, 43, 47, 51, 55, 59, 62, 65, 69, 73, 77, 81, 85, 89, 93, 97, 101, 105, 109, 113, 117, 121, 123, 127, 132, 137, 142, 147, 152, 157, 162, 167, 172, 177, 182, 187, 192, 197, 199, 202, 205, 208, 211, 214, 217, 220, 223, 226, 229, 232, 235, 238, 241, 244, 244,

lower_bounds = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.05, 0.6, 0, -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, -2.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

upper_bounds = 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 200, 0, 0.05, 0.6, 0, 1.5, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

As I wrote in the previous comment, it is expected that the solver behaves differently when adding additional constraints, even if these turn out to be inactive at the solution.

I ran the examples you provided, and both problems converge, although the second one takes many more iterations. Here is the the output:

``````-----------------------------------------------------------------
OSQP v0.6.0  -  Operator Splitting QP Solver
(c) Bartolomeo Stellato,  Goran Banjac
University of Oxford  -  Stanford University 2019
-----------------------------------------------------------------
problem:  variables n = 64, constraints m = 65
nnz(P) + nnz(A) = 231
settings: linear system solver = qdldl,
eps_abs = 1.0e-03, eps_rel = 1.0e-03,
eps_prim_inf = 1.0e-04, eps_dual_inf = 1.0e-04,
rho = 1.00e-01 (adaptive),
sigma = 1.00e-06, alpha = 1.60, max_iter = 4000
check_termination: on (interval 25),
scaling: on, scaled_termination: off
warm start: on, polish: off, time_limit: off

iter   objective    pri res    dua res    rho        time
1   0.0000e+00   6.00e-01   1.19e+03   1.00e-01   1.70e-02s
25   3.8100e+00   1.36e-04   5.65e-03   1.00e-01   1.90e-02s

status:               solved
number of iterations: 25
optimal objective:    3.8100
run time:             2.10e-02s
optimal rho estimate: 6.94e-02

-----------------------------------------------------------------
OSQP v0.6.0  -  Operator Splitting QP Solver
(c) Bartolomeo Stellato,  Goran Banjac
University of Oxford  -  Stanford University 2019
-----------------------------------------------------------------
problem:  variables n = 64, constraints m = 94
nnz(P) + nnz(A) = 260
settings: linear system solver = qdldl,
eps_abs = 1.0e-03, eps_rel = 1.0e-03,
eps_prim_inf = 1.0e-04, eps_dual_inf = 1.0e-04,
rho = 1.00e-01 (adaptive),
sigma = 1.00e-06, alpha = 1.60, max_iter = 4000
check_termination: on (interval 25),
scaling: on, scaled_termination: off
warm start: on, polish: off, time_limit: off

iter   objective    pri res    dua res    rho        time
1   0.0000e+00   6.00e-01   1.19e+03   1.00e-01   6.30e-03s
200   4.4369e+00   3.24e-02   3.25e-02   3.41e+00   2.18e-02s
400   4.8022e+00   2.58e-02   1.15e-02   3.41e+00   2.42e-02s
600   5.5572e+00   1.58e-02   1.72e-02   3.41e+00   4.00e-02s
800   6.1490e+00   9.51e-03   1.03e-02   3.41e+00   4.21e-02s
1000   6.5460e+00   5.71e-03   6.19e-03   3.41e+00   5.62e-02s
1200   6.7229e+00   4.12e-03   1.84e-03   3.41e+00   5.84e-02s
1400   6.7880e+00   3.55e-03   1.48e-03   3.41e+00   7.25e-02s
1600   6.8331e+00   3.17e-03   1.08e-03   3.41e+00   7.44e-02s
1800   6.8567e+00   2.99e-03   1.42e-03   3.41e+00   8.84e-02s
2000   6.8898e+00   2.74e-03   1.26e-03   3.41e+00   9.01e-02s
2200   6.9203e+00   2.51e-03   1.19e-03   3.41e+00   1.03e-01s
2400   6.9497e+00   2.29e-03   1.08e-03   3.41e+00   1.04e-01s
2600   6.9776e+00   2.09e-03   9.87e-04   3.41e+00   1.20e-01s
2800   7.0035e+00   1.91e-03   9.00e-04   3.41e+00   1.21e-01s
3000   7.0276e+00   1.74e-03   8.21e-04   3.41e+00   1.36e-01s
3200   7.0499e+00   1.59e-03   7.50e-04   3.41e+00   1.37e-01s

status:               solved
number of iterations: 3200
optimal objective:    7.0499
run time:             1.51e-01s
optimal rho estimate: 1.05e+01
``````

Also, solutions of the two problems are not the same. The optimal objective values for the first problem is 3.81, and for the second it is 7.05.