June 28, 2023
Demand of your art
On a previous video/blog post, I talked about production planning using an example of selling art on the beach. One simplification of that model was the assumption that everything that we build can be sold.
You can check the pluto notebook html or download the notebook.
I have an excert down here, but for more details, check the video.
If you just want, you can just skip to questions.
As we saw on last episode, Javier is creating and selling his art on the beach.
June 14, 2023
Selling art on the beach
I just released a video about using mathematical modeling to solve a production planning with the thematic of selling your art on the beach.
You can check the pluto notebook html here or download the notebook here.
I have an excert down here, but for more details, check the video.
In Brazil, a common joke between undergrad students (usually during exams) is that “maybe I should give up and go sell my art on the beach”.
September 4, 2018
Optimizing the Dollar Game from Numberphile
I just watched The Dollar Game - Numberphile, in which a game involving graphs is presented. I recommend you watch the video for complete information.
The game involves a graph with integer values on its nodes, positive and negative. For instance, the following graph:
Each node corresponds to a person, the node value is the amount of money that person has, the edges are the people that person can give or take money from.
July 4, 2018
My experience in the JuMP-dev annual workshop
Last week I had the pleasure of being invited to the Second annual JuMP-dev workshop, which happened in June 27-29, 2018 at Bordeaux, France. I’ve presented the packages from the Julia Smooth Optimizers organization, and had a very good time meeting with the JuMP developers.
For those still unaware, JuMP is a modelling language for Mathematical Programming written in Julia. It provides access to a few different solvers for many kinds of problems, and it works inside of Julia, so one can enjoy the advantages of having a robust language if there is a need for advanced usage.
May 9, 2017
Introduction to Performance Profile
The comparison of algorithms is an active area of work. When we start learning algorithms, or more advanced programming, we learn of different ways of doing the same complex task. The most usual first example is sorting, which introduces a series of different ways to sort a single array, such as selection sort, insertion sort, quick sort, merge sort, etc. When comparing these algorithms, we take into account a few things: how fast it is, how much memory it needs, what are the best/worst/average-case complexities, and so on.
February 17, 2017
NLPModels.jl and CUTEst.jl: Constrained optimization
This is a continuation of this post. And again, you can follow the commands of this post in the asciinema.
If you followed along last post, you should know the basics of our NLPModels API, including CUTEst access.
One thing I didn’t explore, though, was constrained problems. It’d complicate too much.
However, now that we know how to handle the basics, we can move to the advanced.
Nonlinear Programming format
February 7, 2017
NLPModels.jl, CUTEst.jl and other Nonlinear Optimization Packages on Julia
A couple of weeks ago me and Professor Dominique Orban have finally made a release of CUTEst.jl, a wrapper for the CUTEst repository of problems for nonlinear optimization (which I’ve mentioned before). Along with this release, we’ve done a release of NLPModels.jl, the underlying package. I think it’s time I explain a little about these packages, others, and how to use them together. If you want to see the output of the commands, you can open this ASCIInema side by side.
February 28, 2016
Minicurso de Julia para Otimização
Semana passada, nos dias 22 a 24 de Fevereiro aconteceu o VIII Simpósio de Análise Numérica e Otimização. Nesse evento, eu apresentei um minicurso de Julia com foco em Otimização não Linear. Entre 10 e 15 pessoas participaram no total, entre alunos de graduação, de pós-graduação, e professores. O objetivo principal era apresentar a linguagem e alguns detalhes importante para otimização não linear, o que foi obtido. Por outro lado, as aulas foram mais longas do que deveriam, e o conteúdo ficou muito esparso, pois tive que variar entre o básico e uma aplicação mais avançada.