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.
March 13, 2017
Installing Gurobi 7 on Linux
Disclaimer: What I did here might work on Windows or OSX, but I give no guarantee.
Request by Clóvis Gonzaga.
First, create an account here and login.
Secondly, download the appropriate Gurobi version clicking on Gurobi Optimizer. In my case, it is Linux 64 bits. Where to download this is optional, but you have to remember, as we’ll use later. I use a folder packages on my home folder.
Third, unpack the file.
February 20, 2017
Minicurso de Julia no IX Simpósio de Análise Numérica e Otimização da UFPR
Hoje ministrarei mais um minicurso de Julia na UFPR. Desta vez será no IX Simpósio de Análise Numérica e Otimização da UFPR.
Por enquanto, deixo esta página apenas com o link para o notebook que utilizarei: aqui.
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.
November 29, 2016
Apresentação de Julia no SMNE
Nos dias 30 de Novembro à 2 de Dezembro de 2016 acontece o primeiro Simpósio de Métodos Numéricos em Engenharia. Neste simpósio darei um minicurso sobre Julia.
Deixo aqui o material preliminar para os alunos do minicurso, ou interessados.
Notebook (necessário) exemplo.jl (necessário) HTML estático do notebook - para quem não conseguiu instalar Também deixo aqui o link do Etherpad para usarmos na aula.
Quem não conseguiu instalar até agora, pode tentar usar o JuliaBox, que roda Julia online.
August 21, 2016
A quasi-solution to my bib problem
For some time, one of my concerns is bibliography management. See my projects page if you have interest on working with something like that.
In the past, what we had was simply writing all your bibliographies directly on a .tex file. Then, if you needed to write again, you would copy-paste it somewhere. If you made a mistake, you would have to fix it by hand. If the journal changed styles, you would have to change everything by hand.
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.
February 23, 2016
Ubuntu graphic interface stopped working
Some time ago, I helped a colleague install Ubuntu in a Sony Vaio, which ended up having SSD problems. Today, his computer started without the bar and menu from Unity. Only the desktop and icons were appearing, and the keyboards shortcuts were also not working.
To fix, I found this askubuntu question, that worked like a charm.
The steps were simply:
Enter the terminal mode with Ctrl+Shift+F2 (or other number); Login; Enter the commands export DISPLAY=:0 sudo dconf reset -f /org/compiz/ setsid unity Reboot with sudo reboot Verify everything is working now.
February 14, 2016
VIII Simpósio de Análise Numérica e Otimização - Minicurso de Julia
Nos dias 22 a 24 de Fevereiro de 2016 acontecerá o VIII Simpósio de Análise Numérica e Otimização. É uma ótima oportunidade para interagir com colegas e conhecer alguns assuntos novos de pesquisa.
Em particular, nesse simpósio apresentarei um minicurso sobre Julia com foco em Otimização. O minicurso é voltado para pessoas que conhecem um pouco de MatLab ou alguma outra linguagem. Serão três dias, com uma introdução à linguagem, alguns exemplos, o CUTEst.
November 20, 2015
Apresentação no Poincaré - 2015
Fui convidado a fazer alguma apresentação para os seminários Poincaré do PET Matemática da UFPR. Irei falar sobre o Método de Newton para zeros de funções, sistemas não lineares, e para otimização.
A apresentação será hoje, dia 20 de Novembro, às 17h40. Os slides você pode pegar aqui ou ver o código no GitHub.
November 16, 2015
New computer at work
I just got a new notebook at work. This is a HP computer, with a AMD a10-4600M processor, 4GB of RAM and 320GB of HD space. I have a personal notebook with a similar configuration and my work desktop also has a similar configuration, so this isn’t a great improvement. However, we’re gonna have an additional monitor, so this is good enough. Also, I’ll leave the other one as the always-on screen+irssi computer.
February 25, 2015
Apresentação no VII Simpósio de Análise Numérica e Otimização - UFPR
No dia 24 de Fevereiro de 2015 aconteceu o (primeiro dia do) VII Simpósio de Análise Numérica e Otimização. Participei deste congresso fazendo uma apresentação sobre Ferramentas Computacionais para Pesquisadores (ver código).
Nesta apresentação, introduzo algumas ferramentas que considero bastante importantes para pesquisadores, principalmente da área de matemática computacional. Um resumo do que apresento é
Aprenda outras linguagens. Recomendo, por exemplo, conhecer Python ou Ruby, Shell e Makefile. Com essas ferramentas já é possível automatizar testes e fazer scripts com uso variado.
January 22, 2015
A Study in Julia
Today I begin a study in Julia. This fantastic tool has syntax similar to that of Octave/Matlab, but is much faster. Furthermore, the interface with functions made in C and Fortran is much easier to accomplish, and since most things in computational mathematics are on these languages, this feature is wonderful.
My intented work is
make a simple julia and C interface, with auto-compiling and test on GitHub and Travis CI; develop a nonlinear optimization tool completely in Julia, then improve the slow bits by using C and/or Fortran; implement/improve the CUTEst interface [1], [2], possibly creating a SIF converter.
January 12, 2015
Instalando o Ubuntu 14.10 no Sony Vaio (Problemas com o SSD)
Hoje instalei em dual-boot o Ubuntu 14.10 e o windows 8. Não tive problemas com o UEFI, nem secure boot. Não tenho certeza, mas talvez o windows não seja o que veio de fábrica.
Eu já tinha um USB com o Ubuntu 14.10, então pluguei-o e bootei o computador. F12-F12-F12-F12… A tela de seleção de boot não apareceu, mas o usb foi escolhido automaticamente.
O ubuntu bootou e selecionei instalar. Escolhi o particionamento manual, que é minha escolha usual.
December 19, 2014
Mudando de HD
Ontem eu acabei de montar um computador novo. Esse computador é um upgrade do meu, e o meu passaria para a Kally. No entanto, eu não gostaria de perder a minha instalação dor Arch, nem de ficar com o HD antigo, então decidi tentar copiar as partições.
Nota: Não sei a aplicabilidade destes comandos para outras distribuições.
Nota: Você também poderia fazer o que fiz, usando o dd, mas eu preferi evitar.
December 16, 2014
Instalação da Impressora no DMAT-UFPR
Hoje tive que instalar a impressora do DMAT da UFPR no meu archlinux. Infelizmente o suporte técnico da universidade não dá suporte para essa distribuição (só Ubuntu). Existe o suporte ao Windows (aqui), que foi necessário para eu obter algumas informações sobre a impressora. Tive algum trabalho para achar as configurações corretas, mas acho que consegui, e vou deixar explicado aqui caso alguém precise. Infelizmente não refiz os passos a seguir, porque fui costurando até chegar ao ponto em que a impressora funcionou.
November 22, 2014
Academic Path
TL;DR:
11/2014-present - Professor at UFPR; 12/2013-11/2014 - Postdoctorate at UNICAMP, improving the work of my doctorate; 01/2009-11/2013 - Doctorate at UNICAMP on the field of Applied Mathematics, working with Nonlinear Optimization. My thesis was "Dynamic Control of Infeasibility for Nonlinear Programming" 03/2005-12/2008 - Bachelor of Applied Mathematics; Long version:
I began working on mathematics on 2005, entering the course 51 of UNICAMP, where you study for one and half year the common classes to Mathematics, Applied Mathematics, Physics, and some other courses.
November 22, 2014
Caminho Acadêmico
Versão curta:
11/2014-presente - Professor na UFPR; 12/2013-11/2014 - Pós-doutorado na UNICAMP, melhorando o trabalho do meu doutorado; 01/2009-11/2013 - Doutorado na UNICAMP na área de Matemática Aplicada, trabalhando com Otimização Não-Linear. Minha tese foi "Controle Dinâmico da Infactibilidade para Programação Não-Linear"; 03/2005-12/2008 - Bacharel em Matemática Aplicada. Versão Longa:
Eu comecei a trabalhar com matemática em 2005, entrando no curso 51 da UNICAMP, onde se estuda por um ano e meio as classes comuns aos cursos de Matemática, Matemática Aplicada, Física, e outros cursos.