Monday, February 9, 2009

Open source Business Rules Management Systems and Rules Engines


I've seen much talk on the internet about advancement of Rules Engines and Business Rules Management Systems (BRMS). As you can imagine there are Open Source options for Rules Engines and business rules systems. It seems the top players in Rules Engines are written mostly in the Java programming language which fairly recently was made Open Source by Sun Microsystems. Yet with Open Source software the possibilties could be endless with the tools used to develop Rules Engines.

Some of the top Open Source players in the Rules Engine business include:

Drools

OpenRules

JRulesEngine

The interesting thing about Rules Engines and Business Rules Management Systems is they most invariably use a rules repository. This repository could be setup on a client/server network which is very easy to setup with the Open Source Linux operating system.

For another resource, Business Review Online's Open Source Blog had a review last year of the Top 10 Best Open Source Rules Engines.

Now I have to admit that I am fairly new to BRMS and Rules Engines. I tend to deal more with the modelling and decision support systems of the Rules Engines. I would love to learn more about this area.

Thursday, February 5, 2009

IEOR Tools interview with GUSEK developer Luis Bettoni

One of the great traits of developing software in the Open Source community is that you can build on the successes of others. Luiz Bettoni has done just that with his linear programming tool known as GUSEK. Recently Luiz released version 0.2.2 of GUSEK to the community. GUSEK is a linear programming modeling interface to the GLPK. GUSEK is freely availabe to download. It is designed for the a Windows operating system. IEOR Tools wanted to know more about GUSEK and is happy to have Luiz answer some questions about GUSEK and his contribution to the field of Linear Programming and Operations Research.

What is your experience in Operations Research and/or Management Science and your background?
I'm a Brazilian researcher and Master's student in the CPGEI department (Graduate School in Electrical Engineering and Industrial Computer Science) at UTFPR University. I'm actually working on two optimization projects to help in decision making. The first is focused in power distribution networks maintenance which is a partnership with COPEL (the energy company of Paraná State). The other one is a PETROBRAS (the world’s 7th biggest oil company) with oil distribution scheduling. The first project was my first contact with Operations Research, about a year ago.
What is your experience with GLPK?
One COPEL project requirement is to use free software to solve LP/MILP models. After some research and a lot of tests GLPK was the natural choice: fast (not like commercial solvers, but better than other open source options), customizable, flexible, has its own modeling language (the GMPL) and is under constant development.
Why did you want to create GUSEK?
Developing GMPL models without any resources (just with Windows Notepad) was a challenge. To make our job affordable and to save costs we made a custom IDE integrating the GLPK stand-alone solver and the GMPL programming language into a customizable text editor (SciTE). Custom improvements are made in the sense to be more friendly to the GMPL developer. After many changes, the IDE was significantly different from the original SciTE and we adopted the new name: Gusek (GLPK Under Scite Extended Kit).
Who do you expect to use GUSEK?
People who want a free, easy-to-use interface for development and solving of LP/MILP problems, like GLPK users and students.
Why did you want to create GUSEK for the Windows platform?
Commodity: in our lab we use Windows. But, as SciTE and GLPK are open source (and have Linux versions), GUSEK can be built for others OS, sure. Anyone which is available?
Why did you distribute under the GPL license?
First, GLPK is a GNU project, released under GPL. SciTE has a similar license. Gusek was possible just because they are open source, so, why not open source? If anyone can use and contribute, Gusek will be a better tool for all. I've just started it and shared. GPL is a good choice to allow this.
Are you working on any other free software projects?
Not really, actually I spend all of my time on the lab projects. However, me and my brother are planning to develop the open source concept of "cycle-tourism open tracks" based on our experience (take a look at www.odois.org, in Portuguese).
Have you learned anything new or interesting while working on this project?
I'm involved with builds and patches to other people's software, learning with the open source community. I learned LUA and batch script languages to implement advanced functions into SciTE. I have learned GMPL and a lot of other LP/MILP modeling tools using Gusek, for sure!
Thank you Luiz for this interview and sharing GUSEK with the Operations Research community. We hope that GUSEK finds a nice home in the Linear Programming world. We here at IEOR Tools have definitely added it to our tool bag.

Wednesday, February 4, 2009

Open source data mining tools


Data mining is a necessary task for most Industrial Engineers and Operations Research analysts. Often times the analyst is forced to comb through a lot of data in order to gather information. There are many tools, often proprietary, to attack the piles of data. Some examples of great data mining tools include Excel or Access. Other more complicated tools include Microsfoft SQL Server or Oracle databases.

The Open Source community has been no stranger to developing tools for data mining. There are many free software equivalents for data mining for any analyst. Data can be mined in spreadsheets such as Openoffice Calc or KSpread. They can be compatible with windows files such as .xls for quick transfer from other data sources. These office suites are free to download on multiple operating systems.

Databases have been developed extensively in the open source community. Openoffice has an application similar to Access called Base. There are many free software database servers available for use including MySQL and PostgreSQL. There are numerous free software SQL clients including Knoda and GNOME-DB. PhpMyAdmin is a web-based MySQL client that can be setup with a webserver, such as Apache and interfaced with an internet browser.

There are also free software applications developed especially for data mining. These free software options include Weka and RapidMiner. These tools can be used as stand alone clients that can connect to any number of data souces, including proprietary ones.

Saturday, January 31, 2009

Internet becomes fueling ground for Open Source mathematics discussion


An interesting post from Timothy Gowers, Field's medalist and Fellow at Trinity College, suggests starting an online weblog for publically collaborating mathematical concepts and problem solving. Glyn Moody, on his blog Open..., took it one step further and suggested that this could be considered Open Source Mathematics. Is it possible to use the Open Source movement as a methodology of solving mathematical principles and problems? I absolutely believe this is possible. In fact I am willing to suggest that this has already been in existence.

Math is a language that has no race, religion, or region. Math has been collaborated by all sorts of people, in academia or not, for centuries. The only thing that has kept public collaboration is the media by which it is presented to the masses. In the past the methodology was journals, papers, lectures, and small forums of people to collaborate. Now the age of the internet has brought a new media to present mathematical ideas. Journals are already being spread online. Blogs and online chat rooms have brought like-minded interest groups together. I believe we could be in a new age of mathematical revolution.

Sunday, January 25, 2009

Why go proprietary when you can go Free part 2

Since I last posted about Free software tools I have found other great Industrial Engineering tools. Statistics plays a major role for the Industrial Engineer and Operations Research analyst. There are a huge amount of statistical tools in the market for computers and software. I have found that there is numerous Free Software tools available for analyzing statistics and data sets.

Here is a Free Software equivalents table for statistical software

S, SAS --> R-Project

Matlab, Scilab --> SciPy (requires Python programming language)

SPSS --> PSPP

Saturday, January 17, 2009

Why go proprietary when you can go Free

The tools in the Industrial Engineer and Operations Research tool bag is increasing with the advances of software systems. In the past the tools were relegated to proprietary software that would cost an organization licensing fees, software updates, and support services. Yet there is a shift in thinking in how software is developed, delivered, and administered to the masses. That shift is in free and open source software. This free software movement has shifted the thinking that good software need not be copyrighted and licensed for proprietary distribution. Instead software should be made freely to the masses to use, distributed, and even improve upon.

The free and open source software movement has even made its way to Industrial Engineer and Operations Research tools. There are many proprietary equivalents that can be found in the free software realm. Most of which will even work on a Windows platform. I have listed some of these software tools in a equivalents table.

Spreadsheet
Microsoft Excel ---> OpenOffice Calc, KOffice KSpread

Spreadsheet LP Solver
Excel Solver ---> OpenOffice.org Calc Optimization Solver

Math Programming Software
AMPL, CPLEX, GAMS ---> GLPK, OpenOpt


These are but only a few equivalents. You can see more free and open source equivalents to all sorts of software on the following links.

The Table of Equivalents
LinuxQuestions.org equivalents table

Tuesday, January 6, 2009

What is Operations Research?

When I tell people I have a masters degree in Operations Research they often say "What is Operations Research?". Michael Trick has a great blog post examining this very question of explaining Operations Research to others. In fact he even solves that question with the ever so appropriate Operations Research tool of using an algorithm.

My typical response to the question "What is Operations Research" is using mathematics and statistics to help solve a business decision. Better yet, from the blog article, is Jim Orlin's response. Jim states Operations Research is "science of better decision making". Very good response and is one I will use in the future.