Skip to content

Colab notebooks related to the Optimization class at Claremont Graduate University.

Notifications You must be signed in to change notification settings

RylieWeaver/Optimization

Repository files navigation

Optimization Methods Implementation: Gradient Descent, Conjugate Gradient, and Cutting-Plane

Project Overview

This repository contains my implementations of various optimization methods, including Gradient Descent, Conjugate Gradient Descent, and a Cutting-Plane method. These implementations demonstrate the effectiveness of these algorithms through computational analysis and visualization.

Implementation Details

Conjugate Gradient Descent

  • Purpose: An advanced optimization technique particularly effective for large-scale problems, utilizing direction conjugate to the previous direction.
  • Implementation: Python code demonstrating conjugate gradient descent with iterative outputs of input and objective function.

Gradient Descent

  • Purpose: To find local minima of functions using iterative steps proportional to the negative of the gradient.
  • Implementation: Python code showcasing basic gradient descent steps along with performance analysis, using various sample functions and step sizes.

Cutting-Plane Method

  • Purpose: A method used in convex optimization that iteratively refines a feasible solution space.
  • Implementation: Implementation of the cutting-plane method, illustrating its approach to reducing the feasible region and converging to an optimal solution.

Visualization and Analysis

The cutting plane and gradient descent methods are accompanied by visualizations (e.g., convergence plots, function descent paths) that illustrate the behavior and efficiency of the optimization techniques on various sample problems.

Technologies Used

  • Python: Primary programming language for all implementations.
  • Matplotlib and NumPy: Used for data visualization and numerical operations.

Project Outcomes

  • Demonstrated the practical application and comparative analysis of different optimization methods, step size, and objective functions..
  • Provided insights into the scenarios where each method is most effective.

Repository Structure

  • Gradient_Descent.ipynb: Code for the Gradient Descent method.
  • Conjugate_Gradient_Gescent.ipynb: Code for the Conjugate Gradient Descent method.
  • Cutting Plane Method (Center of Gravity).ipynb: Code for the Cutting-Plane method.

About

Colab notebooks related to the Optimization class at Claremont Graduate University.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published