Page 269 - 6197
P. 269

Для  розв’язування  задачі  використаємо  програму  із
                                                                T
                            прикладу  4.6,  у  якій  x   0    2 2,   ,  а  файл-функція  вміщує
                                               R
                            цільову функцію    x  та її градієнт

                            %=========================================
                            %Нелінійне програмування
                            %=========================================
                            %Вхід
                            %f-М-файл цільової функції
                            %x0-стартова точка
                            %lb-умова невідємності x>0
                            %Вихід
                            %x-вектор оптимальних змінних xj
                            %fval-оптимальне значення цільової функції
                            %-----------------------------------------
                            x0=[1;1];
                            lb=[1;1]*1e-9;
                            options = optimset('GradObj','on');
                            [x,fval]=fmincon(@g_program,x0,[],[],[],[],l
                            b,[],...
                                [],options);


                            function [f,Dc]=g_program(x)
                            %==============================================
                            %Цільова функція f та її градієнт Dc
                            %==============================================
                            f=5*x(1)/x(2)+2*x(2)/x(1)+5*x(1)+1/x(2);
                            Dc(1)=5/x(2)-2*x(2)/(x(1)^2)+5;
                            Dc(2)=-5*x(1)/(x(2)^2)+2/x(1)-1/x(2)^2;

                                Реалізація програми дала такий результат:
                            >> x



                                                           269
   264   265   266   267   268   269   270   271   272   273   274