OpenSourc.ES


Bonobo.jl: Branch and Bound

The start of a general branch and bound framework for mathematical optimization problems in Julia.

07 November 2021 in julia + tsp + optimization + branch_and_bound + bonobo


TSP: Greedy approach and using a 1-Tree

An introduction to the most simple TSP heuristic as well as a more sophisticated lower bound. More coming soon!

25 October 2021 in julia + tsp + optimization + heuristic


Categories

I work on a bunch of different projects in sometimes very different fields. You can check this list and the sidebar to find what you're most interested in. The following gives a short description of each category as well as the latest post in each of them.

ConstraintSolver.jl

Since September 2019 I'm working on creating a constraint solver in Julia and document the development on this blog.

  • Boolean constraints
  • Javis.jl

    Javis is an animation tool in Julia which helps me and hopefully the community to convey ideas and teach using animations.

  • Examples: Collatz Conjecture
  • JuliaLang Basics.jl

    In this series I try to cover the basics to get you started with my favorite programming language: Julia.

  • Matrix multiplication: Performance
  • All posts:

    Bonobo.jl: Branch and Bound

    The start of a general branch and bound framework for mathematical optimization problems in Julia.

    07 November 2021 in julia + tsp + optimization + branch_and_bound + bonobo


    TSP: Greedy approach and using a 1-Tree

    An introduction to the most simple TSP heuristic as well as a more sophisticated lower bound. More coming soon!

    25 October 2021 in julia + tsp + optimization + heuristic


    Matrix multiplication: Performance

    A deep dive into the performance we can obtain by thinking about cache lines and parallel code. An example step by step guide on optimizing dense matrix multiplication.

    11 October 2021 in julia + newcomers + benchmarking + profiling + performance


    Javis.jl examples series: Collatz Conjecture

    What is the Collatz conjecture and how can we visualize the tree that is underlying it? A visual exploration of the problem in Julia with animations using Javis.jl

    18 September 2021 in javis + animation + julia


    Javis.jl examples series: Inverse Kinematics

    How to reach an object using a robotic arm? With Inverse Kinematics. A visualization and explanation using Julia.

    08 September 2021 in javis + animation + julia


    Javis.jl examples series: The chase problem

    Animating a simple problem in Javis. Exploring different ways of animating in the newer versions of Javis

    09 August 2021 in javis + animation + julia


    Master thesis: HyperOrdering

    Explaining the fast pseudocode behind HyperOrdering. A way to find a minimum degree node ordering.

    31 July 2021 in linear-algebra + graph-theory


    Master thesis: Minimum degree ordering

    How to permute a sparse system of linear equations such that a decomposition stays sparse? An introduction into minimum degree ordering.

    09 July 2021 in linear-algebra + graph-theory + master-thesis


    First YouTube video created with Javis

    How I created the first 7 minute video with the animation framework Javis.jl and what you can learn from it.

    12 June 2021 in julia + javis + sudoku


    Ghess: How to write a Chess Engine?

    How to write a chess engine. An introduction to ideas, testing and interesting bugs.

    17 April 2021 in golang + chess-engine


    Benchmarking and Profiling Julia Code

    Find out how to benchmark and profile your Julia code! Find the spots that aren't as fast as expected to run with the speed.

    21 March 2021 in julia + newcomers + benchmarking + profiling


    Share what you've learned!

    Share which tool, workflow, package helped you out with the rest of the community

    01 March 2021 in julia + newcomers


    Boolean constraints

    Extending JuMP with boolean constraints for my ConstraintSolver.jl

    14 February 2021 in julia + constraint-programming + jump


    Generic bridges

    How to create generic bridges in JuMP?

    26 January 2021 in julia + constraint-programming + jump


    Creating bridges with JuMP.jl and MOI.jl

    How to create your own JuMP/MOI bridges?

    09 January 2021 in julia + constraint-programming + jump


    Constraint Solver: Priority Queue

    Using a priority queue to speed up `get_next_node`

    11 December 2020 in julia + constraint-programming


    Graph Coloring using Cliques

    Using maximal cliques to find graph colorings faster.

    29 November 2020 in julia + constraint-programming + graph-theory


    Javis v0.3: How to animate a Fourier series

    The biggest changes in Javis v0.3 and how it makes animations easier. Making Fourier animations in a few minutes.

    12 November 2020 in julia + javis + animation + fourier


    Debugging in Julia - Two different ways

    Different ways of debugging Julia code without using println. Some deep, some fast and fun.

    30 October 2020 in julia + debugging + basics + newcomers


    The Julia Package Manager

    How to use the package manager in Julia and create your own environment or package.

    16 October 2020 in julia + pkg-development + basics


    Javis v0.2 and the Future

    What's new in Javis v0.2 and what have we planned for the future?

    29 September 2020 in julia + javis + visualization + animation


    Javis.jl with Animations.jl

    How to make powerful animations in JuliaLang with Javis.jl and Animations.jl?

    09 September 2020 in julia + javis + visualization + animation


    Housekeeping August 2020

    What happened in August? First version of Javis.jl. Project management, master thesis and the future.

    28 August 2020 in julia + blog


    ConstraintSolver.jl Refactoring

    Refactoring of ConstraintSolver.jl and what I've learned about properties and hashes.

    12 August 2020 in julia + constraint-programming


    The beginning of Javis.jl

    A small introduction to the new project Javis.jl. What do you want to animate?

    04 August 2020 in julia + javis + visualization + animation


    ConstraintSolver.jl Reified constraint

    How to extend JuMP to support a new constraint type? The reified constraint.

    13 July 2020 in julia + constraint-programming + jump


    Visualizing Pi, Tau and prime numbers

    Visualizing Pi, Tau as well as prime numbers using Luxor.jl

    13 July 2020 in julia + luxor


    Pi vs Tau

    Is Pi better or Tau? I'm always for pie. Mathematical reasons are boring. Your visual cortex should decide.

    12 July 2020 in julia + luxor


    Side gig: Mentoring Julia newcomers

    Why I think code reviews/mentoring are helpful for beginners. What do I have to offer?

    07 July 2020 in julia + code-reviews + mentoring + newcomers


    Julia Basics: REPL & Revise

    What do I need to start with Julia? Learning the REPL and Revise.

    01 July 2020 in julia + basics + newcomers


    Julia Basics: Multiple Dispatch

    Series of Julia basics: What is multiple dispatch? Explanation on how to use it and why it is powerful.

    22 June 2020 in basics + julia + newcomers


    ConstraintSolver.jl Indicator Part 2

    Extending JuMP.jl in your own package to support more constraints.

    17 June 2020 in constraint-programming + julia


    Franklin.jl

    Using Franklin for the new blog layout. A static site generator written for Julians.

    09 June 2020 in julia + blog


    Indicator constraint + Benchmarks

    Part 23: Adding an indicator constraint to the ConstraintSolver

    06 June 2020 in constraint-programming + julia


    Housekeeping May 2020

    Housekeeping: Logo for the constraint solver, Exercism, Streaming and a new blog layout which hopefully comes soonish.

    05 June 2020 in blog + julia


    Bugs and Benchmarks

    How to build a constraint programming solver in Julia. Part 22: Bugs, debugging and benchmarking without loosing sanity

    11 May 2020 in constraint-programming + julia


    Solving Str8ts

    How to build a constraint programming solver in Julia. Part 21: How to solve Str8ts using constraint programming?

    27 April 2020 in constraint-programming + julia


    Table constraint

    How to build a constraint programming solver in Julia. Part 20: Implementing the table constraint.

    26 April 2020 in constraint-programming + julia


    ConstraintSolver.jl v0.1.0

    How to build a constraint programming solver in Julia. Part 19: Release of v0.1.0

    06 April 2020 in julia + constraint-programming + optimization


    Bound computation

    How to build a constraint programming solver in Julia. Part 8: Computing bounds

    09 March 2020 in julia


    COVID-19 Visualization

    How to create a visualization on a map using Julia and Luxor.jl?

    06 March 2020 in


    YouTube videos, Mandelbrot & Enigma, ...

    What happened the last couple of days? Started making YouTube videos and some other changes...

    28 February 2020 in


    Table logging in Julia

    Log something in a table by adding rows to the command line. Useful for things like solvers to show best bounds, incumbents and some other information

    19 February 2020 in julia + constraint-programming


    Building an Enigma emulator and a Bombe

    How does the Enigma work and how to code one? As well as getting the flaws and crack the code!

    09 February 2020 in julia + cryptography + enigma


    Kaggle Santa 2019: Final take

    My final take on the Kaggle Santa 2019 challenge and finally getting the optimum (late)

    27 January 2020 in kaggle + julia


    Constraint Solver: Support for linear objectives

    Possibility to use linear objectives in ConstraintSolver.jl.

    21 January 2020 in julia + optimization + constraint-programming


    Constraint Solver: Dealing with real coefficients!

    How to deal with real coefficients in the sum constraint?

    19 January 2020 in julia + optimization + constraint-programming


    Constraint Solver: How to use JuMP for your own solver?

    How to add JuMP as the modelling layer?

    10 January 2020 in julia + optimization + constraint-programming


    Improving on the current Santa Kaggle Challenge: MIP and swapping

    Optimizing on a solution and trying out some linear programming

    10 December 2019 in julia + optimization + kaggle


    First approach for the Kaggle Santa 2019 challenge

    How to get a good starting solution for the 2019 Kaggle Santa Workshop problem? Using the hungarian method and some improvement strategy

    29 November 2019 in julia + optimization + kaggle


    Finding the maximum cardinality matching in a bipartite graph

    How to build a constraint programming solver in Julia using graph theory? Basics: Bipartite maximum cardinality matching

    15 November 2019 in julia + constraint-programming + graph-theory


    How to profile julia code?

    How to build a constraint programming solver in Julia? Profiling your julia code. Memory reduction

    09 November 2019 in julia + constraint-programming + optimization + profiling


    Constraint Solver Part 12: Documentation and small changes

    How to build a constraint programming solver in Julia? How to use Documenter.jl with github actions, benchmarks and small changes

    25 October 2019 in julia + constraint-programming + optimization


    Constraint Solver Part 11: Graph Coloring Part 2

    How to build a constraint programming solver in Julia? Graph coloring using MIP and our constraint solver.

    18 October 2019 in julia + constraint-programming + optimization


    Constraint Solver Part 10: Graph Coloring Part 1

    How to build a constraint programming solver in Julia? First part of graph coloring.

    10 October 2019 in julia + constraint-programming + optimization + video


    Constraint Solver Part 9: Recap video

    How to build a constraint programming solver in Julia. Video explanation of the current state.

    08 October 2019 in julia + constraint-programming + optimization + video


    Constraint Solver Part 8: UI Refactoring

    How to build a constraint programming solver in Julia. Part 8: Better user interface and refactoring of internal design for future constraints

    04 October 2019 in julia + constraint-programming + optimization


    Constraint Solver Part 7: Sum constraint speed-up

    How to build a constraint programming solver in Julia. Part 7: Speed up of the sum constraint.

    27 September 2019 in julia + puzzle + constraint-programming + optimization


    Constraint Solver Part 6: Backtrack and Sum constraint

    How to build a constraint programming solver in Julia. Part 6: Backtracking without recursion and sum constraint.

    21 September 2019 in julia + puzzle + constraint-programming + optimization


    Constraint Solver Part 5: Different data structure

    How to build a constraint programming solver in Julia. Part 5: Use a better data structure

    16 September 2019 in julia + puzzle + constraint-programming + optimization


    Constraint Solver Part 4: Alldifferent constraint

    How to build a constraint programming solver in Julia. Part 4: Alldifferent constraint and powerful Sudoku solver + Benchmarking.

    12 September 2019 in julia + puzzle + constraint-programming + optimization + graph-theory


    Constraint Solver Part 3: More Pruning and Benchmarking

    How to build a constraint programming solver in Julia. Part 3: Pruning + Benchmarking.

    09 September 2019 in julia + puzzle + constraint-programming + optimization


    Constraint Solver Part 2: Pruning

    How to build a constraint programming solver in Julia. Part 2: Pruning.

    07 September 2019 in julia + puzzle + constraint-programming + optimization


    Setup and backtracking

    How to build a constraint programming solver in Julia. Part 1: Solving Sudoku using backtracking

    05 September 2019 in constraint-programming


    B-splines

    Explanation of B-splines and their comparison to Bézier splines as well as animations using Julia

    24 August 2019 in julia + visualization


    Neuromorphic computing: Hardware

    State of neuromorphic hardware and different approaches

    05 August 2019 in neuromorphic + neuroscience


    Neuralink: What's new?

    What is the company Neuralink doing? What did they present on Tuesday 16.07.2019?

    17 July 2019 in neuroscience


    Neuromorphic computing: An Overview

    What is neuromorphic computing and what is the state of it?

    18 June 2019 in neuromorphic + neuroscience


    Bézier curves in Julia with animations

    Bézier curve basics and animations

    10 May 2019 in julia + visualization


    Random Forest Regression from scratch used on Kaggle competition

    Random forest regression package in Julia and competing in a Kaggle challenge

    01 May 2019 in julia + machine-learning


    Speeding up my julia code for the hungarian method

    Speeding up julia code. Different tricks and measurements shown on a real project.

    03 April 2019 in julia + optimization + performance


    Hang your code on the wall

    You've spend such a long time on your project and are proud? Hang it on your office wall or as art in your living room.

    27 March 2019 in julia + visualization + art


    Multiplicative persistence with Julia

    Multiplicative persistence the secret of 277777788888899

    21 March 2019 in julia + visualization + performance


    CSV2HTML data filtering, sorting

    How I visualize my csv files using DataTables

    08 March 2019 in javascript + visualization


    Juniper workflow

    Project workflow for Juniper hopefully interesting for your own projects

    06 March 2019 in julia + javascript


    Kaggle: Prime Travelling Santa 2018 - MIP

    Using MIP for solving local versions of the Kaggle Santa 2018 problem using Julia.

    17 January 2019 in kaggle + julia + optimization + mip


    Google Colab vs own GTX 1060

    Using a free Tesla K80 GPU on Google Colab vs an own GTX 1060 6GB

    12 October 2018 in ai + neural-nets + machine-learning


    Free GPU with Google Colab

    Using a free Tesla K80 GPU with Google Colab

    04 October 2018 in ai + python + neural-nets + machine-learning


    Handwritten equations to LaTeX

    Using CNN and Seq2Seq Learning to generate LaTeX code from handwritten equations

    18 August 2018 in ai + python + neural-nets + machine-learning + tensorflow


    AlphaZero for Nash

    Using AlphaZero General for the game Nash/Hex

    25 March 2018 in ai + python + neural-nets + machine-learning + tensorflow


    Hungarian Method

    Implementation of the hungarian method in Julia for finding the optimal match in a Kaggle problem

    06 February 2018 in julia + optimization


    MINLP - Travelling Salesman with Neighborhoods

    Solving the travelling salesman problem with neighborhoods using Mixed Integer Non Linear programming with Julia and Juniper.jl

    17 December 2017 in julia + minlp + nonlinear + optimization


    MIP - Travelling Salesman

    Solving the travelling salesman problem (TSP) with Mixed Integer programming (MIP) in Julia using JuMP.

    15 October 2017 in julia + mip + constraint-programming + linear-programming + optimization


    Simplex: Add constraints

    Explanation and programming of adding constraints to a linear programming model with the simplex method using Python.

    04 September 2017 in simplex + python + constraint-programming + linear-programming + optimization


    Simplex: Dual problem

    Explanation and programming of the dual simplex problem in python.

    16 August 2017 in simplex + python + constraint-programming + linear-programming + optimization


    Simplex: Convert to standard form

    Converting any linear program into its standard form. Addition to my in depth explanation of the simplex method.

    12 August 2017 in simplex + python + constraint-programming + linear-programming + optimization


    Simplex algorithm: Maximization problems

    In depth explanation and programming of the simplex method with Python for solving linear programming problems.

    27 July 2017 in simplex + python + constraint-programming + linear-programming + optimization


    Str8ts solved using Constraint programming

    Solving Str8ts puzzles using constraint programming and graph theor

    28 March 2017 in puzzle + str8ts + python + constraint-programming + optimization


    Sudoku puzzles, Constraint programming and Graph Theory

    Solving Sudoku puzzles using constraint programming and graph theory with Python.

    08 February 2017 in puzzle + sudoku + python + constraint-programming + optimization + graph-theory


    Solving the Megaron-Cube with Python

    Solving the Megaron-Cube with Python

    19 September 2016 in puzzle + megaron + python


    Improve MNIST using your own handwritten digits

    Train your own MNIST dataset to improve accuracy using Python and tensorflow

    10 July 2016 in neural-nets + machine-learning + tensorflow


    5 Steps to your own Memory Palace

    Learn something in a different way, using your own memory palace.

    18 April 2016 in brain + memory + learning


    Recognize your handwritten numbers

    Recognize not only digits but whole handwritten numbers with Python and tensorflow using the MNIST dataset.

    02 March 2016 in neural-nets + machine-learning + tensorflow


    Analyze your Facebook messages

    Analyze your Facebook messages using Python and matplotlib

    18 January 2016 in analyze + facebook


    Tensorflow, MNIST and your own handwritten digits

    Real world MNIST detection. Build a python script to recognize your own handwritten digits using Tensorflow.

    17 November 2015 in neural-nets + machine-learning + tensorflow


    Virtual Whiteboard

    Creating a virtual collaborative whiteboard

    18 October 2015 in sockets + js + javascript


    Titanic Disaster

    How likely would you have survived the disaster?

    15 September 2015 in kaggle + neural-nets + machine-learning


    Visualizations Census 2013

    How to visualize using Python

    10 August 2015 in kaggle + Visualization


    Learning using a sigmoid neuron

    The first learning steps

    18 June 2015 in machine-learning + neural-nets


    First steps

    First steps in machine learning. What are neural nets?

    18 May 2015 in machine-learning + neural-nets


    Pilot

    Things about me and this blog

    15 May 2015 in about-me




    Want to be updated? Consider subscribing and receiving a mail whenever a new post comes out.

    Powered by Buttondown.


    Subscribe to RSS