Solving our first real TSP problem using Bonobo.jl as a branch and bound framework.

06 May 2022 in julia + tsp + bonobo + branch_and_bound

How I structured my ConstraintSolver.jl package and what I learned in two and a half years of working on it. Bad approaches and good ones.

16 February 2022 in julia + constraint-programming

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.

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

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

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

Solving our first real TSP problem using Bonobo.jl as a branch and bound framework.

06 May 2022 in julia + tsp + bonobo + branch_and_bound

How I structured my ConstraintSolver.jl package and what I learned in two and a half years of working on it. Bad approaches and good ones.

16 February 2022 in julia + constraint-programming

Visualizing taxi trips in Porto, Portugal using Javis and various other Julia packages.

02 January 2022 in julia + javis + visualization + animation

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

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

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

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

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

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

09 August 2021 in javis + animation + julia

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

31 July 2021 in linear-algebra + graph-theory

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

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

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

17 April 2021 in golang + chess-engine

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 which tool, workflow, package helped you out with the rest of the community

01 March 2021 in julia + newcomers

Extending JuMP with boolean constraints for my ConstraintSolver.jl

14 February 2021 in julia + constraint-programming + jump

How to create generic bridges in JuMP?

26 January 2021 in julia + constraint-programming + jump

How to create your own JuMP/MOI bridges?

09 January 2021 in julia + constraint-programming + jump

Using a priority queue to speed up `get_next_node`

11 December 2020 in julia + constraint-programming

Using maximal cliques to find graph colorings faster.

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

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

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

30 October 2020 in julia + debugging + basics + newcomers

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

16 October 2020 in julia + pkg-development + basics

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

29 September 2020 in julia + javis + visualization + animation

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

09 September 2020 in julia + javis + visualization + animation

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

28 August 2020 in julia + blog

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

12 August 2020 in julia + constraint-programming

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

04 August 2020 in julia + javis + visualization + animation

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

13 July 2020 in julia + constraint-programming + jump

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

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

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

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

01 July 2020 in julia + basics + newcomers

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

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

17 June 2020 in constraint-programming + julia

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

Part 23: Adding an indicator constraint to the ConstraintSolver

06 June 2020 in constraint-programming + julia

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

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

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

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

26 April 2020 in constraint-programming + julia

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

06 April 2020 in julia + constraint-programming + optimization

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

09 March 2020 in julia

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

06 March 2020 in

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

28 February 2020 in

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

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

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

27 January 2020 in kaggle + julia

Possibility to use linear objectives in ConstraintSolver.jl.

21 January 2020 in julia + optimization + constraint-programming

How to deal with real coefficients in the sum constraint?

19 January 2020 in julia + optimization + constraint-programming

How to add JuMP as the modelling layer?

10 January 2020 in julia + optimization + constraint-programming

Optimizing on a solution and trying out some linear programming

10 December 2019 in julia + optimization + kaggle

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

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 build a constraint programming solver in Julia? Profiling your julia code. Memory reduction

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

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

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

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

10 October 2019 in julia + constraint-programming + optimization + 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

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

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

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

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

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

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

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

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

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

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

05 September 2019 in constraint-programming

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

24 August 2019 in julia + visualization

State of neuromorphic hardware and different approaches

05 August 2019 in neuromorphic + neuroscience

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

17 July 2019 in neuroscience

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

18 June 2019 in neuromorphic + neuroscience

Bézier curve basics and animations

10 May 2019 in julia + visualization

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

01 May 2019 in julia + machine-learning

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

03 April 2019 in julia + optimization + performance

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 the secret of 277777788888899

21 March 2019 in julia + visualization + performance

How I visualize my csv files using DataTables

08 March 2019 in javascript + visualization

Project workflow for Juniper hopefully interesting for your own projects

06 March 2019 in julia + javascript

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

17 January 2019 in kaggle + julia + optimization + mip

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

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

Using a free Tesla K80 GPU with Google Colab

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

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

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

Using AlphaZero General for the game Nash/Hex

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

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

06 February 2018 in julia + optimization

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

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

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

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

Explanation and programming of the dual simplex problem in python.

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

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

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

Solving Str8ts puzzles using constraint programming and graph theor

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

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

19 September 2016 in puzzle + megaron + python

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

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

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

18 April 2016 in brain + memory + learning

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 using Python and matplotlib

18 January 2016 in analyze + facebook

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

Creating a virtual collaborative whiteboard

18 October 2015 in sockets + js + javascript

How likely would you have survived the disaster?

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

How to visualize using Python

10 August 2015 in kaggle + Visualization

The first learning steps

18 June 2015 in machine-learning + neural-nets

First steps in machine learning. What are neural nets?

18 May 2015 in machine-learning + neural-nets

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.

© Ole Kröger. Last modified: January 03, 2021. Website built with Franklin.jl.