Welcome to the Optimization Algorithms Repository. This repository provides a collection of Python implementations for a variety of optimization algorithms. These range from one-dimensional optimization methods to multidimensional techniques, constrained optimization, and dynamic programming solutions.
- 1D Optimization Algorithms
- Multidimensional Optimization Algorithms
- Constrained Optimization
- Dynamic Programming
- Description: Implements the bisection method for finding roots of a one-dimensional function.
- File:
bisection.py
- Description: Implements the golden section search algorithm for locating the minimum of a unimodal function.
- File:
golden_search.py
- Description: Implementation of the gradient descent algorithm for unconstrained optimization problems.
- File:
gradient_descent.py
- Description: Implementation of Newton’s method for locating local minima or maxima in multidimensional spaces.
- File:
newton.py
- Description: Implementation of the Broyden–Fletcher–Goldfarb–Shanno (BFGS) algorithm for unconstrained optimization.
- File:
bfgs.py
- Description: Implementation of the penalty function method for solving constrained optimization problems.
- File:
penalty_method.py
- Description: Implementation of the barrier function method for constrained optimization.
- File:
barrier_method.py
- Description: Dynamic programming solution to the coin change problem, determining the minimum number of coins required for a given amount.
- File:
change_problem.py
- Description: Dynamic programming solution to the 0/1 knapsack problem.
- File:
knapsack_problem.py