Coder Social home page Coder Social logo

mohesmail143 / numerical-optimization-techniques Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 1.75 MB

A set of Jupyter notebooks that investigate and compare the performance of several numerical optimization techniques, both unconstrained (univariate search, Powell's method and Gradient Descent (fixed step and optimal step)) and constrained (Exterior Penalty method).

License: MIT License

Jupyter Notebook 99.62% Python 0.38%
benchmark-functions conda constrained-optimization dejong easom exterior-penalty-function-method golden-section-search gradient-descent jupyter-notebook matplotlib miniconda optimization optimization-methods python rastringin-function rosenbrock-function unconstrained-optimization brainin powell-method univariate-search

numerical-optimization-techniques's Introduction

Numerical Optimization Techniques

A set of Jupyter notebooks that investigate and compare the performance of:

  • Numerical unconstrained optimization techniques (univariate search, Powell's method and Gradient Descent (fixed step and optimal step)) against these benchmark functions: De Jong’s function in 2D, Rosenbrock’s valley in 2D, Rastrigin’s function in 2D, 4-Easom’s function, Branins’s function.
  • Numerical constrained optimization technique "Exterior Penalty method" against several self-constructed examples of objective functions to minimize/maximize.

This project was developed as part of the course Optimization Techniques in the Fall 2022 semester at the Faculty of Engineering, Alexandria University, under the Computer and Communications Engineering department, supervised by Dr. Yasmine Abou Elseoud.

Prerequisites

This project was developed in the following environment:

  • Jupyter Notebook
  • Miniconda
  • Python 3.11.5

Installing

1- Clone the repository to your local machine:

git clone https://github.com/MohEsmail143/numerical-optimization-techniques.git

2- Open Jupyter notebook.

3- Check out the the Jupyter notebooks part1.ipynb and part2.ipynb.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

numerical-optimization-techniques's People

Contributors

mohesmail143 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.