qpOASES
3.2.1
An Implementation of the Online Active Set Strategy
|
00001 /* 00002 * This file is part of qpOASES. 00003 * 00004 * qpOASES -- An Implementation of the Online Active Set Strategy. 00005 * Copyright (C) 2007-2017 by Hans Joachim Ferreau, Andreas Potschka, 00006 * Christian Kirches et al. All rights reserved. 00007 * 00008 * qpOASES is free software; you can redistribute it and/or 00009 * modify it under the terms of the GNU Lesser General Public 00010 * License as published by the Free Software Foundation; either 00011 * version 2.1 of the License, or (at your option) any later version. 00012 * 00013 * qpOASES is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00016 * See the GNU Lesser General Public License for more details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with qpOASES; if not, write to the Free Software 00020 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00021 * 00022 */ 00023 00024 00035 USING_NAMESPACE_QPOASES 00036 00037 00038 00039 const real_t Inf = INFTY; 00040 00041 sparse_int_t H_jc[] = { 0, 4, 8, 12, 16, 20, 20, 20, 20, 20, 20, 00042 24, 28, 32, 36, 40, 40, 40, 40, 40, 40, 00043 44, 48, 52, 56, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 00044 64, 68, 72, 76, 80, 80, 80, 80, 80, 80, 00045 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 00046 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 00047 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 00048 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 00049 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 00050 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 00051 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 00052 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 00053 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 00054 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 00055 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 00056 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 00057 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 00058 80, 80, 80, 80, 80, 80 }; 00059 00060 sparse_int_t H_ir[] = { 00061 0, 10, 20, 34, 1, 11, 21, 35, 2, 12, 22, 36, 3, 13, 23, 37, 4, 14, 24, 38, 00062 0, 10, 20, 34, 1, 11, 21, 35, 2, 12, 22, 36, 3, 13, 23, 37, 4, 14, 24, 38, 00063 0, 10, 20, 34, 1, 11, 21, 35, 2, 12, 22, 36, 3, 13, 23, 37, 4, 14, 24, 38, 00064 0, 10, 20, 34, 1, 11, 21, 35, 2, 12, 22, 36, 3, 13, 23, 37, 4, 14, 24, 38}; 00065 00066 real_t H_val[] = {10, 1, 1, 1, 10, 1, 1, 1, 10, 1, 1, 1, 10, 1, 1, 1, 10, 1, 1, 00067 1, 1, 10, 1, 1, 1, 10, 1, 1, 1, 10, 1, 1, 1, 10, 1, 1, 1, 10, 1, 1, 1, 1, 00068 10, 1, 1, 1, 10, 1, 1, 1, 10, 1, 1, 1, 10, 1, 1, 1, 10, 1, 1, 1, 1, 10, 1, 00069 1, 1, 10, 1, 1, 1, 10, 1, 1, 1, 10, 1, 1, 1, 10}; 00070 00071 sparse_int_t A_jc[] = { 00072 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 00073 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 00074 280, 290, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 00075 313, 314, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 331, 00076 333, 335, 337, 339, 341, 343, 345, 347, 349, 351, 353, 355, 357, 359, 361, 00077 363, 365, 367, 369, 371, 373, 383, 393, 403, 405, 408, 410, 413, 415, 418, 00078 420, 422, 424, 426, 428, 430, 432, 434, 436, 438, 440, 442, 444, 446, 448, 00079 450, 452, 454, 456, 458, 460, 462, 472, 482, 492, 494, 497, 499, 502, 504, 00080 507, 509, 511, 513, 515, 517, 519, 521, 523, 525, 527, 529, 531, 533, 535, 00081 537, 539, 541, 543, 545, 547, 549, 551, 561, 571, 581, 583, 586, 588, 591, 00082 593, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 00083 610, 611, 612, 613, 614, 615, 616, 617, 618, 628, 638, 648, 650, 653, 655, 00084 658, 660, 663}; 00085 00086 sparse_int_t A_ir[] = {0, 14, 35, 36, 71, 72, 85, 86, 87, 88, 1, 14, 35, 36, 71, 72, 85, 00087 86, 87, 88, 2, 14, 35, 36, 71, 72, 85, 86, 87, 88, 3, 14, 35, 36, 71, 72, 00088 85, 86, 87, 88, 4, 14, 35, 36, 71, 72, 85, 86, 87, 88, 5, 14, 35, 36, 71, 00089 72, 85, 86, 87, 88, 6, 14, 35, 36, 71, 72, 85, 86, 87, 88, 7, 14, 35, 36, 00090 71, 72, 85, 86, 87, 88, 8, 14, 35, 36, 71, 72, 85, 86, 87, 88, 9, 14, 35, 00091 36, 71, 72, 85, 86, 87, 88, 0, 15, 37, 38, 69, 70, 79, 80, 81, 82, 1, 15, 00092 37, 38, 69, 70, 79, 80, 81, 82, 2, 15, 37, 38, 69, 70, 79, 80, 81, 82, 3, 00093 15, 37, 38, 69, 70, 79, 80, 81, 82, 4, 15, 37, 38, 69, 70, 79, 80, 81, 82, 00094 5, 15, 37, 38, 69, 70, 79, 80, 81, 82, 6, 15, 37, 38, 69, 70, 79, 80, 81, 00095 82, 7, 15, 37, 38, 69, 70, 79, 80, 81, 82, 8, 15, 37, 38, 69, 70, 79, 80, 00096 81, 82, 9, 15, 37, 38, 69, 70, 79, 80, 81, 82, 0, 16, 39, 40, 67, 68, 73, 00097 74, 75, 76, 1, 16, 39, 40, 67, 68, 73, 74, 75, 76, 2, 16, 39, 40, 67, 68, 00098 73, 74, 75, 76, 3, 16, 39, 40, 67, 68, 73, 74, 75, 76, 4, 16, 39, 40, 67, 00099 68, 73, 74, 75, 76, 5, 16, 39, 40, 67, 68, 73, 74, 75, 76, 6, 16, 39, 40, 00100 67, 68, 73, 74, 75, 76, 7, 16, 39, 40, 67, 68, 73, 74, 75, 76, 8, 16, 39, 00101 40, 67, 68, 73, 74, 75, 76, 9, 16, 39, 40, 67, 68, 73, 74, 75, 76, 10, 11, 00102 12, 13, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 47, 48, 49, 50, 51, 00103 52, 53, 54, 55, 56, 57, 47, 58, 48, 59, 49, 60, 50, 61, 51, 62, 52, 63, 53, 00104 64, 54, 65, 55, 66, 46, 56, 45, 57, 47, 58, 48, 59, 49, 60, 50, 61, 51, 62, 00105 52, 63, 53, 64, 54, 65, 55, 66, 46, 56, 45, 57, 10, 14, 71, 72, 85, 86, 87, 00106 88, 89, 90, 11, 15, 69, 70, 79, 80, 81, 82, 83, 84, 12, 16, 67, 68, 73, 74, 00107 75, 76, 77, 78, 35, 90, 36, 89, 90, 37, 84, 38, 83, 84, 39, 78, 40, 77, 78, 00108 44, 58, 43, 59, 42, 60, 41, 61, 34, 62, 33, 63, 32, 64, 31, 65, 30, 66, 29, 00109 46, 28, 45, 44, 58, 43, 59, 42, 60, 41, 61, 34, 62, 33, 63, 32, 64, 31, 65, 00110 30, 66, 29, 46, 28, 45, 10, 14, 71, 72, 85, 86, 87, 88, 89, 90, 11, 15, 69, 00111 70, 79, 80, 81, 82, 83, 84, 12, 16, 67, 68, 73, 74, 75, 76, 77, 78, 35, 90, 00112 36, 89, 90, 37, 84, 38, 83, 84, 39, 78, 40, 77, 78, 27, 44, 26, 43, 25, 42, 00113 24, 41, 23, 34, 22, 33, 21, 32, 20, 31, 19, 30, 18, 29, 17, 28, 27, 44, 26, 00114 43, 25, 42, 24, 41, 23, 34, 22, 33, 21, 32, 20, 31, 19, 30, 18, 29, 17, 28, 00115 10, 14, 71, 72, 85, 86, 87, 88, 89, 90, 11, 15, 69, 70, 79, 80, 81, 82, 83, 00116 84, 12, 16, 67, 68, 73, 74, 75, 76, 77, 78, 35, 90, 36, 89, 90, 37, 84, 38, 00117 83, 84, 39, 78, 40, 77, 78, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 27, 00118 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 10, 14, 71, 72, 85, 86, 87, 88, 89, 00119 90, 11, 15, 69, 70, 79, 80, 81, 82, 83, 84, 12, 16, 67, 68, 73, 74, 75, 76, 00120 77, 78, 35, 90, 36, 89, 90, 37, 84, 38, 83, 84, 39, 78, 40, 77, 78}; 00121 00122 real_t A_val[] = { 00123 -1.0000000000000000e+00, 1.0000000000000000e+00, 8.8678200000000004e+01, 00124 9.3617050000000006e+01, 1.6000000000000000e+01, 8.1999999999999993e+00, 00125 9.9000000000000000e+01, 8.0000000000000000e+01, 1.2000000000000000e+01, 00126 9.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00127 8.0062830000000005e+01, 9.9224010000000007e+01, 1.0000000000000000e+02, 00128 2.1100000000000001e+01, 1.0000000000000000e+02, 1.0000000000000000e+02, 00129 1.1400000000000000e+02, 1.1680000000000000e+02, -1.0000000000000000e+00, 00130 1.0000000000000000e+00, 7.4697360000000003e+01, 8.3801220000000001e+01, 00131 -8.1999999999999993e+00, 2.0000000000000000e+00, 9.0000000000000000e+01, 00132 2.3999999999999999e+00, -1.2000000000000000e+01, -1.4800000000000001e+01, 00133 -1.0000000000000000e+00, 1.0000000000000000e+00, 7.9194209999999998e+01, 00134 9.0175110000000004e+01, 4.3000000000000000e+01, 8.0000000000000000e+00, 00135 1.0000000000000000e+02, 9.5000000000000000e+01, 9.0000000000000000e+00, 00136 2.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00137 7.8568219999999997e+01, 8.5996200000000002e+01, -1.2500000000000000e+01, 00138 1.0000000000000000e+00, 9.6500000000000000e+01, 4.0000000000000000e+00, 00139 -1.8000000000000000e+01, -2.1899999999999999e+01, -1.0000000000000000e+00, 00140 1.0000000000000000e+00, 8.2922240000000002e+01, 8.6963380000000001e+01, 00141 6.5000000000000000e+01, 1.2500000000000000e+01, 1.0000000000000000e+02, 00142 9.8000000000000000e+01, 4.9000000000000000e+01, 3.7000000000000000e+01, 00143 -1.0000000000000000e+00, 1.0000000000000000e+00, 8.2592740000000006e+01, 00144 9.3147599999999997e+01, -1.2000000000000000e+01, 1.0000000000000000e+00, 00145 9.6500000000000000e+01, 4.0000000000000000e+00, -1.8000000000000000e+01, 00146 -2.1899999999999999e+01, -1.0000000000000000e+00, 1.0000000000000000e+00, 00147 7.6506460000000004e+01, 7.8210250000000002e+01, 7.9000000000000000e+01, 00148 1.2000000000000000e+01, 1.0000000000000000e+02, 9.5000000000000000e+01, 00149 6.8000000000000000e+01, 6.1000000000000000e+01, -1.0000000000000000e+00, 00150 1.0000000000000000e+00, 8.8357460000000003e+01, 9.4257840000000002e+01, 00151 1.2500000000000000e+02, 6.1299999999999997e+01, 1.0000000000000000e+02, 00152 1.0000000000000000e+02, 1.4500000000000000e+02, 1.4500000000000000e+02, 00153 -1.0000000000000000e+00, 1.0000000000000000e+00, 9.0590469999999996e+01, 00154 1.0582863000000000e+02, 6.2000000000000002e+00, 6.0000000000000000e+00, 00155 9.7000000000000000e+01, 2.8500000000000000e+01, 4.0000000000000000e+00, 00156 3.6000000000000001e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00157 8.8678200000000004e+01, 9.3617050000000006e+01, 1.6000000000000000e+01, 00158 8.1999999999999993e+00, 9.9000000000000000e+01, 8.0000000000000000e+01, 00159 1.2000000000000000e+01, 9.0000000000000000e+00, -1.0000000000000000e+00, 00160 1.0000000000000000e+00, 8.0062830000000005e+01, 9.9224010000000007e+01, 00161 1.0000000000000000e+02, 2.1100000000000001e+01, 1.0000000000000000e+02, 00162 1.0000000000000000e+02, 1.1400000000000000e+02, 1.1680000000000000e+02, 00163 -1.0000000000000000e+00, 1.0000000000000000e+00, 7.4697360000000003e+01, 00164 8.3801220000000001e+01, -8.1999999999999993e+00, 2.0000000000000000e+00, 00165 9.0000000000000000e+01, 2.3999999999999999e+00, -1.2000000000000000e+01, 00166 -1.4800000000000001e+01, -1.0000000000000000e+00, 1.0000000000000000e+00, 00167 7.9194209999999998e+01, 9.0175110000000004e+01, 4.3000000000000000e+01, 00168 8.0000000000000000e+00, 1.0000000000000000e+02, 9.5000000000000000e+01, 00169 9.0000000000000000e+00, 2.0000000000000000e+00, -1.0000000000000000e+00, 00170 1.0000000000000000e+00, 7.8568219999999997e+01, 8.5996200000000002e+01, 00171 -1.2500000000000000e+01, 1.0000000000000000e+00, 9.6500000000000000e+01, 00172 4.0000000000000000e+00, -1.8000000000000000e+01, -2.1899999999999999e+01, 00173 -1.0000000000000000e+00, 1.0000000000000000e+00, 8.2922240000000002e+01, 00174 8.6963380000000001e+01, 6.5000000000000000e+01, 1.2500000000000000e+01, 00175 1.0000000000000000e+02, 9.8000000000000000e+01, 4.9000000000000000e+01, 00176 3.7000000000000000e+01, -1.0000000000000000e+00, 1.0000000000000000e+00, 00177 8.2592740000000006e+01, 9.3147599999999997e+01, -1.2000000000000000e+01, 00178 1.0000000000000000e+00, 9.6500000000000000e+01, 4.0000000000000000e+00, 00179 -1.8000000000000000e+01, -2.1899999999999999e+01, -1.0000000000000000e+00, 00180 1.0000000000000000e+00, 7.6506460000000004e+01, 7.8210250000000002e+01, 00181 7.9000000000000000e+01, 1.2000000000000000e+01, 1.0000000000000000e+02, 00182 9.5000000000000000e+01, 6.8000000000000000e+01, 6.1000000000000000e+01, 00183 -1.0000000000000000e+00, 1.0000000000000000e+00, 8.8357460000000003e+01, 00184 9.4257840000000002e+01, 1.2500000000000000e+02, 6.1299999999999997e+01, 00185 1.0000000000000000e+02, 1.0000000000000000e+02, 1.4500000000000000e+02, 00186 1.4500000000000000e+02, -1.0000000000000000e+00, 1.0000000000000000e+00, 00187 9.0590469999999996e+01, 1.0582863000000000e+02, 6.2000000000000002e+00, 00188 6.0000000000000000e+00, 9.7000000000000000e+01, 2.8500000000000000e+01, 00189 4.0000000000000000e+00, 3.6000000000000001e+00, -1.0000000000000000e+00, 00190 1.0000000000000000e+00, 8.8678200000000004e+01, 9.3617050000000006e+01, 00191 1.6000000000000000e+01, 8.1999999999999993e+00, 9.9000000000000000e+01, 00192 8.0000000000000000e+01, 1.2000000000000000e+01, 9.0000000000000000e+00, 00193 -1.0000000000000000e+00, 1.0000000000000000e+00, 8.0062830000000005e+01, 00194 9.9224010000000007e+01, 1.0000000000000000e+02, 2.1100000000000001e+01, 00195 1.0000000000000000e+02, 1.0000000000000000e+02, 1.1400000000000000e+02, 00196 1.1680000000000000e+02, -1.0000000000000000e+00, 1.0000000000000000e+00, 00197 7.4697360000000003e+01, 8.3801220000000001e+01, -8.1999999999999993e+00, 00198 2.0000000000000000e+00, 9.0000000000000000e+01, 2.3999999999999999e+00, 00199 -1.2000000000000000e+01, -1.4800000000000001e+01, -1.0000000000000000e+00, 00200 1.0000000000000000e+00, 7.9194209999999998e+01, 9.0175110000000004e+01, 00201 4.3000000000000000e+01, 8.0000000000000000e+00, 1.0000000000000000e+02, 00202 9.5000000000000000e+01, 9.0000000000000000e+00, 2.0000000000000000e+00, 00203 -1.0000000000000000e+00, 1.0000000000000000e+00, 7.8568219999999997e+01, 00204 8.5996200000000002e+01, -1.2500000000000000e+01, 1.0000000000000000e+00, 00205 9.6500000000000000e+01, 4.0000000000000000e+00, -1.8000000000000000e+01, 00206 -2.1899999999999999e+01, -1.0000000000000000e+00, 1.0000000000000000e+00, 00207 8.2922240000000002e+01, 8.6963380000000001e+01, 6.5000000000000000e+01, 00208 1.2500000000000000e+01, 1.0000000000000000e+02, 9.8000000000000000e+01, 00209 4.9000000000000000e+01, 3.7000000000000000e+01, -1.0000000000000000e+00, 00210 1.0000000000000000e+00, 8.2592740000000006e+01, 9.3147599999999997e+01, 00211 -1.2000000000000000e+01, 1.0000000000000000e+00, 9.6500000000000000e+01, 00212 4.0000000000000000e+00, -1.8000000000000000e+01, -2.1899999999999999e+01, 00213 -1.0000000000000000e+00, 1.0000000000000000e+00, 7.6506460000000004e+01, 00214 7.8210250000000002e+01, 7.9000000000000000e+01, 1.2000000000000000e+01, 00215 1.0000000000000000e+02, 9.5000000000000000e+01, 6.8000000000000000e+01, 00216 6.1000000000000000e+01, -1.0000000000000000e+00, 1.0000000000000000e+00, 00217 8.8357460000000003e+01, 9.4257840000000002e+01, 1.2500000000000000e+02, 00218 6.1299999999999997e+01, 1.0000000000000000e+02, 1.0000000000000000e+02, 00219 1.4500000000000000e+02, 1.4500000000000000e+02, -1.0000000000000000e+00, 00220 1.0000000000000000e+00, 9.0590469999999996e+01, 1.0582863000000000e+02, 00221 6.2000000000000002e+00, 6.0000000000000000e+00, 9.7000000000000000e+01, 00222 2.8500000000000000e+01, 4.0000000000000000e+00, 3.6000000000000001e+00, 00223 -1.0000000000000000e+00, -1.0000000000000000e+00, -1.0000000000000000e+00, 00224 -1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00, 00225 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00, 00226 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00, 00227 1.0000000000000000e+00, 1.0000000000000000e+00, -1.2000000000000000e-01, 00228 -3.8000000000000000e-01, -5.0000000000000000e-01, 1.0000000000000000e+00, 00229 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00, 00230 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00, 00231 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00, 00232 1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00233 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00234 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00235 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00236 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00237 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00238 -1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00, 00239 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00240 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00241 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00242 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00243 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00244 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00245 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00246 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00247 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00248 -4.7000000000000000e+01, -8.6999999999999993e+00, -9.0000000000000000e+01, 00249 -5.0000000000000000e+01, -1.0000000000000000e+01, -1.0000000000000000e+01, 00250 -9.3000000000000000e+01, -8.9000000000000000e+01, 1.0000000000000000e+00, 00251 -1.0000000000000000e+00, -4.7000000000000000e+01, -8.6999999999999993e+00, 00252 -9.0000000000000000e+01, -5.0000000000000000e+01, -1.0000000000000000e+01, 00253 -1.0000000000000000e+01, -8.9000000000000000e+01, -8.5000000000000000e+01, 00254 1.0000000000000000e+00, -1.0000000000000000e+00, -4.7000000000000000e+01, 00255 -8.6999999999999993e+00, -9.0000000000000000e+01, -5.0000000000000000e+01, 00256 -1.0000000000000000e+01, -1.0000000000000000e+01, -9.1000000000000000e+01, 00257 -8.8000000000000000e+01, -1.0000000000000000e+00, 5.0000000000000000e-01, 00258 -1.0000000000000000e+00, 1.0000000000000000e+00, 5.0000000000000000e-01, 00259 -1.0000000000000000e+00, 5.0000000000000000e-01, -1.0000000000000000e+00, 00260 1.0000000000000000e+00, 5.0000000000000000e-01, -1.0000000000000000e+00, 00261 5.0000000000000000e-01, -1.0000000000000000e+00, 1.0000000000000000e+00, 00262 5.0000000000000000e-01, 1.0000000000000000e+00, -1.0000000000000000e+00, 00263 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00264 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00265 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00266 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00267 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00268 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00269 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00270 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00271 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00272 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00273 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00274 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00275 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00276 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00277 1.0000000000000000e+00, -1.0000000000000000e+00, -4.7000000000000000e+01, 00278 -8.6999999999999993e+00, -9.0000000000000000e+01, -5.0000000000000000e+01, 00279 -1.0000000000000000e+01, -1.0000000000000000e+01, -9.3000000000000000e+01, 00280 -8.9000000000000000e+01, 1.0000000000000000e+00, -1.0000000000000000e+00, 00281 -4.7000000000000000e+01, -8.6999999999999993e+00, -9.0000000000000000e+01, 00282 -5.0000000000000000e+01, -1.0000000000000000e+01, -1.0000000000000000e+01, 00283 -8.9000000000000000e+01, -8.5000000000000000e+01, 1.0000000000000000e+00, 00284 -1.0000000000000000e+00, -4.7000000000000000e+01, -8.6999999999999993e+00, 00285 -9.0000000000000000e+01, -5.0000000000000000e+01, -1.0000000000000000e+01, 00286 -1.0000000000000000e+01, -9.1000000000000000e+01, -8.8000000000000000e+01, 00287 -1.0000000000000000e+00, 5.0000000000000000e-01, -1.0000000000000000e+00, 00288 1.0000000000000000e+00, 5.0000000000000000e-01, -1.0000000000000000e+00, 00289 5.0000000000000000e-01, -1.0000000000000000e+00, 1.0000000000000000e+00, 00290 5.0000000000000000e-01, -1.0000000000000000e+00, 5.0000000000000000e-01, 00291 -1.0000000000000000e+00, 1.0000000000000000e+00, 5.0000000000000000e-01, 00292 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00293 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00294 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00295 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00296 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00297 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00298 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00299 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00300 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00301 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00302 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00303 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00304 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00305 -1.0000000000000000e+00, 1.0000000000000000e+00, -1.0000000000000000e+00, 00306 1.0000000000000000e+00, -1.0000000000000000e+00, 1.0000000000000000e+00, 00307 -1.0000000000000000e+00, -4.7000000000000000e+01, -8.6999999999999993e+00, 00308 -9.0000000000000000e+01, -5.0000000000000000e+01, -1.0000000000000000e+01, 00309 -1.0000000000000000e+01, -9.3000000000000000e+01, -8.9000000000000000e+01, 00310 1.0000000000000000e+00, -1.0000000000000000e+00, -4.7000000000000000e+01, 00311 -8.6999999999999993e+00, -9.0000000000000000e+01, -5.0000000000000000e+01, 00312 -1.0000000000000000e+01, -1.0000000000000000e+01, -8.9000000000000000e+01, 00313 -8.5000000000000000e+01, 1.0000000000000000e+00, -1.0000000000000000e+00, 00314 -4.7000000000000000e+01, -8.6999999999999993e+00, -9.0000000000000000e+01, 00315 -5.0000000000000000e+01, -1.0000000000000000e+01, -1.0000000000000000e+01, 00316 -9.1000000000000000e+01, -8.8000000000000000e+01, -1.0000000000000000e+00, 00317 5.0000000000000000e-01, -1.0000000000000000e+00, 1.0000000000000000e+00, 00318 5.0000000000000000e-01, -1.0000000000000000e+00, 5.0000000000000000e-01, 00319 -1.0000000000000000e+00, 1.0000000000000000e+00, 5.0000000000000000e-01, 00320 -1.0000000000000000e+00, 5.0000000000000000e-01, -1.0000000000000000e+00, 00321 1.0000000000000000e+00, 5.0000000000000000e-01, -1.0000000000000000e+00, 00322 -1.0000000000000000e+00, -1.0000000000000000e+00, -1.0000000000000000e+00, 00323 -1.0000000000000000e+00, -1.0000000000000000e+00, -1.0000000000000000e+00, 00324 -1.0000000000000000e+00, -1.0000000000000000e+00, -1.0000000000000000e+00, 00325 -1.0000000000000000e+00, -1.0000000000000000e+00, -1.0000000000000000e+00, 00326 -1.0000000000000000e+00, -1.0000000000000000e+00, -1.0000000000000000e+00, 00327 -1.0000000000000000e+00, -1.0000000000000000e+00, -1.0000000000000000e+00, 00328 -1.0000000000000000e+00, -1.0000000000000000e+00, -1.0000000000000000e+00, 00329 1.0000000000000000e+00, -1.0000000000000000e+00, -4.7000000000000000e+01, 00330 -8.6999999999999993e+00, -9.0000000000000000e+01, -5.0000000000000000e+01, 00331 -1.0000000000000000e+01, -1.0000000000000000e+01, -9.3000000000000000e+01, 00332 -8.9000000000000000e+01, 1.0000000000000000e+00, -1.0000000000000000e+00, 00333 -4.7000000000000000e+01, -8.6999999999999993e+00, -9.0000000000000000e+01, 00334 -5.0000000000000000e+01, -1.0000000000000000e+01, -1.0000000000000000e+01, 00335 -8.9000000000000000e+01, -8.5000000000000000e+01, 1.0000000000000000e+00, 00336 -1.0000000000000000e+00, -4.7000000000000000e+01, -8.6999999999999993e+00, 00337 -9.0000000000000000e+01, -5.0000000000000000e+01, -1.0000000000000000e+01, 00338 -1.0000000000000000e+01, -9.1000000000000000e+01, -8.8000000000000000e+01, 00339 -1.0000000000000000e+00, 5.0000000000000000e-01, -1.0000000000000000e+00, 00340 1.0000000000000000e+00, 5.0000000000000000e-01, -1.0000000000000000e+00, 00341 5.0000000000000000e-01, -1.0000000000000000e+00, 1.0000000000000000e+00, 00342 5.0000000000000000e-01, -1.0000000000000000e+00, 5.0000000000000000e-01, 00343 -1.0000000000000000e+00, 1.0000000000000000e+00, 5.0000000000000000e-01}; 00344 00345 real_t g[] = {+0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, 00346 +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, 00347 +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, 00348 +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, 00349 +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, 00350 +0e+00, +0e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, -2e+00, 00351 -2e+00, +0e+00, -2e+00, +0e+00, +2e-03, +2e-03, +2e-03, +2e-03, +2e-03, 00352 +2e-03, +1e-03, +2e-03, +2e-03, +2e-03, +0e+00, -2e-03, -2e-03, -2e-03, 00353 -2e-03, -2e-03, -2e-03, -1e-03, -2e-03, -2e-03, -2e-03, +0e+00, +0e+00, 00354 +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +2e-03, 00355 +2e-03, +2e-03, +2e-03, +2e-03, +2e-03, +1e-03, +2e-03, +2e-03, +2e-03, 00356 +0e+00, -2e-03, -2e-03, -2e-03, -2e-03, -2e-03, -2e-03, -1e-03, -2e-03, 00357 -2e-03, -2e-03, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, 00358 +0e+00, +0e+00, +0e+00, +2e-03, +2e-03, +2e-03, +2e-03, +2e-03, +2e-03, 00359 +1e-03, +2e-03, +2e-03, +2e-03, +0e+00, -2e-03, -2e-03, -2e-03, -2e-03, 00360 -2e-03, -2e-03, -1e-03, -2e-03, -2e-03, -2e-03, +0e+00, +0e+00, +0e+00, 00361 +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +1e-01, +1e-01, 00362 +1e-01, +1e-01, +1e-01, +1e-01, +1e-01, +1e-01, +1e-01, +1e-01, +0e+00, 00363 -1e-01, -1e-01, -1e-01, -1e-01, -1e-01, -1e-01, -1e-01, -1e-01, -1e-01, 00364 -1e-01, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, +0e+00, 00365 +0e+00}; 00366 00367 real_t lb[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00368 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00369 0, 0, 0, -Inf, 0, -Inf, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 5, 00370 10, 5, 0, 10, 0, 2, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00371 0, 0, 0, 0, 0, 10, 5, 10, 5, 0, 10, 0, 5, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 5, 10, 5, 0, 10, 0, 5, 0, 10, 0, 0, 00373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00374 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; 00375 00376 real_t ub[] = {Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, 00377 Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, 00378 Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, 00379 Inf, Inf, 0, 92, 39, 87, 29, 0, 20, 0, 28, 20, 71, Inf, 130, 45, 53, 55, 75, 00380 112, 0, 73, 480, 154, 121, 50, 30, 77, 20, 0, 18, 0, 5, 20, 71, Inf, Inf, 00381 Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, 130, 55, 93, 60, 75, 115, 0, 67, 00382 480, 154, 121, 50, 20, 37, 15, 0, 15, 0, 8, 20, 71, Inf, Inf, Inf, Inf, Inf, 00383 Inf, Inf, Inf, Inf, Inf, 130, 55, 93, 60, 75, 105, 0, 67, 4980, 154, 110, 00384 50, 20, 37, 15, 0, 25, 0, 8, 20, 71, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, 00385 Inf, Inf, 20, 20, 20, 20, 0, 20, 0, 20, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00386 0, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf}; 00387 00388 real_t lbA[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00389 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -Inf, -Inf, 00391 -Inf, -Inf, -Inf, -Inf, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00392 0}; 00393 00394 real_t ubA[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00395 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00397 0, 0, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, Inf, 00398 Inf, Inf, Inf, Inf}; 00399 00400 long H_nnz = (long) sizeof(H_val) / (long) sizeof(real_t); 00401 long A_nnz = (long) sizeof(A_val) / (long) sizeof(real_t);