MERLIN (Multitask Reinforcement Learning problem generator)

MERLIN is the Multi-task Environments for Reinforcement LearnINg generator. This is a fairly straightforward piece of code that generates random problem instances for a multi-task reinforcement learning agent. The main feature it provides is some controls over the structure of the generated problems, such as the “smoothness” of the transition functions of the underlying MDP, the degree to which the individual tasks are correlated/anti-correlated. Some preliminary data from this work was presented at the IEEE Symposium on Adaptive Dynamic Programming and Reinforcement Learning (ADPRL-14) in 2014.

Read More

kvparse (simple typed configuration file parsing library)

kvparse is an efficient, type-safe template-driven parser for simple INI-like configuration files. It’s reason for existing is really to provide the ability to have a config file that contains keyword/value pairs that can be easily read using code like kvparse::parameter_value("keyword", var); and have this work for a fairly broad range of sensible data types, including things like list and vector. Requirements Requires Boost.Regex. Building and running the tests requires the gtest unit testing library.

Read More

sls (framework for developing Stochastic Local Search algorithms)

This code formed the experimental basis for my dissertation work on multiobjective landscape analysis. It is a fairly general platform for implementing multiobjective metaheuristics for numeric or combinatorial optimization. A fair number of my publications reflect algorithms and experiments present in this code. The code is all C++, and relies rather heavily on features of modern C++, or at least what passed for Modern C++ circa 2006 when it was largely developed.

Read More