I need help for solving quadratic programming, on how to avoid solution(x) of the objective function to be zero ?
Afficher commentaires plus anciens
x0=10*[1;1;1;1;1;1;1;1;1;1;1;1;1]; lb=-10^8*ones(13,1); ub=100000000*ones(13,1); f=zeros(1,13); Y=eye(13,13); H=Y*2; A1=[-0.048042 -0.049226 -0.233376 -0.205312 -0.036378 -0.060762 -0.0812 -0.138498 -0.14592 -0.061104 -0.02225 -0.006138 -0.12585; 0.048048 0.049296 0.24528 0.202608 0.034882 0.066138 0.09165 0.169776 0.167552 0.06072 0.022826 0.045762 0.0252;-0.022896 -0.288798 0.20091 0.159904 -0.050274 -0.033066 0.008216 0.06513 0.075168 -0.030576 -0.079928 -0.021504 0.361248; 0.014448 0.26 -0.018262 -0.010864 -0.0372 -0.16687 -0.485306 -0.027456 -0.017936 -0.0588 -0.052098 -0.04221 0.030528;0.003842 0.01435 -0.043898 -0.01955 -0.09216 0.172966 0.488186 0.02784 0.01817 -0.00528 -0.091014 -0.058086 -0.005776; 0.004576 0.014378 -0.149152 -0.13632 0.18048 0.02541 -0.01457 -0.123 -0.124352 0.088506 0.22287 0.130088 -0.238502;-0.037506 -0.078336 -0.46295 -0.47376 -0.13867 -0.164328 -0.200046 -0.28741 -0.305592 -0.172666 -0.113046 -0.180072 -0.430122;-0.118144 -0.073944 0.714432 0.68579 0.028942 0.086592 0.186648 0.40369 0.424974 0.09792 -0.039064 0.097384 0.670704; 0.154882 0.138574 -0.488394 -0.374976 0.081168 0.01536 -0.072922 -0.224472 -0.231054 0.02584 0.135424 0.03675 -0.400582;0.00075 0.00917 0.10229 0.00889 0.00681 0.030336 0.03753 0.063 0.05787 0.01953 0.005678 0.013376 0.067158;1.8E-05 0.004446 0.12555 0.1568 0.018944 0.02772 0.069192 0.1344 0.13904 0.040086 -0.001232 0.03952 0.212842;-0.00624 -0.26775 -0.271478 -0.198522 -0.0368 -0.074226 -0.125 -0.2254 -0.22523 -0.073486 -0.01351 -0.068208 -0.318682; -0.03813 -0.226106 0.543368 0.41245 0.02519 0.06693 -0.068442 0.245752 0.249504 0.053728 -0.002808 0.03465 0.440794;-0.029326 0.3176 0.0184 0.015198 -0.581094 -0.197064 0.07241 -0.047104 -0.063714 -0.3498 -0.455328 -0.423168 -0.035754; 0.073728 0.176418 -0.269346 -0.219648 0.59607 0.209814 0.102982 -0.009386 -0.033136 0.361862 0.482976 0.453606 -0.14863;-2E-06 -8E-06 -0.00739 0.002672 -0.000638 -0.004224 -0.0084 -0.02511 -0.00095 -0.015824 -0.003848 0.002562 -0.011178;-0.00024 -0.00064 -0.03213 -0.01352 0.000728 -0.002838 -0.0048 -0.007104 0.008406 0.017264 0.003648 -0.00325 -0.01935;0.000242 0.000646 0.035098 0.012186 -0.000128 0.004598 0.008778 0.01728 0.009834 0.00616 -0.00201 0.002482 0.0256; -1.8E-09 1.99181E-06 0.002820976 -4.67625E-05 0.000199784 0.001267978 0.00071502 0.007641212 0.01315048 -0.002705872 0.000590152 -0.001887964 -0.001825876;-0.000721998 -0.002887992 -0.080142976 -0.040379238 -0.129031784 -0.024387978 -0.03741102 -0.080691212 -0.11655248 -0.093756128 -0.093150152 -0.140192036 -0.234712124;0.000718339 0.002864398 0.087019892 0.043901594 0.1285613 0.026382439 0.043309201 0.094963676 0.13103198 0.095754939 0.090999358 0.142984658 0.261219522;-0.000446339 -0.006938398 -0.015649892 -0.010205594 0.0003987 -0.002668439 -0.005773201 -0.016243676 -0.01745398 -0.002826939 0.003354642 -0.002378658 -0.027169522];
A=-A1; b=zeros(22,1); [x,fval,exitflag,output,lambda]=quadprog(H,f,A,b,[],[],lb,ub,x0) % [x,fval,exitflag,output]=quadprog(H,f,A,b,[],[],[],[],x0)
I have tried varying ub lb and x0, but sometimes it gives me vector of zero as solution, which i dont wish, kindly tell me as to how to avoid this, by making any changes in objective function or something? Thank you, your reply will be appreciated.
Réponses (1)
Torsten
le 17 Fév 2017
0 votes
Use b=-ones(22,1),e.g.
Best wishes
Torsten.
Catégories
En savoir plus sur Surrogate Optimization dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!