Question: Please use PYTHON and MATLAB. Write a numerical code to minimize the Rosenbrock function defined below using a slew of gradient based optimization algorithms. The

Please use PYTHON and MATLAB. Write a numerical code to minimize the Rosenbrock function defined below using a slew of gradient based optimization algorithms. The function is a non-convex function and has a global minimum at (1,1). The minimum is at the bottom of a narrow parabolic valley that is curved on the x-y plane. The problem statement is as follows
minimize f(x, y)=(1 x)^2+100(y x^2)^2
with respect to x, y in Rn
subject to c1(x, y)=1 x y =0
(or)c2(x, y)=1 x^2 y^2=0
1. Solve the above optimization problem with only constraint c1(x, y) by-hand and find x. Show all the necessary steps and demonstrate that the first-order necessary conditions are satisfied.
2. Write an SQP algorithm to find the minimum of the function subject to two single
equality constraints. Use a simple backtracking line search method. Employ a Newtons method. Use only one constraint at a time.
3. Repeat the above with a Quadratic Penalty approach to satisfy the constraints.
4. Provide the following in a written report for each of the constraints and optimization approaches (SQP and Quadratic Penalty):
(a) Convergence of the gradient (y-axis: log of the gradient, x-axis: iteration) and a comparison of the convergence.
(b) Contour plot of the path of the optimization algorithm.
(c) Discuss and compare the plots, as well as discuss the choice of parameters used
in your results and their effect on the optimization.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!