I need help for solving quadratic programming, on how to avoid solution(x) of the objective function to be zero ?
이전 댓글 표시
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.
답변 (1개)
Torsten
2017년 2월 17일
0 개 추천
Use b=-ones(22,1),e.g.
Best wishes
Torsten.
카테고리
도움말 센터 및 File Exchange에서 Surrogate Optimization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!