Wednesday, August 29, 2012

Advertisement optimization for billboards

Roman Novak posted an interesting article one DZone about advertisement optimization for thousands of billboards. It's an interesting use case of Drools Planner that has been in production for over a year.

To increase revenue, it maximizes matching the requirements of the advertisers, such as target audience, media size, campaign frequency, ...

Read it here: Drools Planner in Billboard Planning for Out-of-Home Advertising


Friday, August 17, 2012

Continuous planning video

Every week, a hospital needs to create a nurse roster. That roster needs to continue from last week's roster, without changing the past. Also, nurses want to know their free days weeks in advance. This is known as the problem of continuous planning. Here's a video how Drools Planner deals with it.

This implementation is based on immovable planning entities, which works just as well for other use cases (such as vehicle routing, course scheduling, task scheduling, ...).

Immovable planning entities

Drools Planner 5.5.0.Beta1 will directly support immovable planning entities in the new selector framework, making it much easier to do continuous planning:

To make some planning entities immovable, simply add an entity SelectionFilter that returns true if an entity is movable and false if it is immovable:

public class MovableShiftAssignmentSelectionFilter implements SelectionFilter<ShiftAssignment> {

    public boolean accept(ScoreDirector scoreDirector, ShiftAssignment shiftAssignment) {
        ShiftDate shiftDate = shiftAssignment.getShift().getShiftDate();
        NurseRoster nurseRoster = (NurseRoster) scoreDirector.getWorkingSolution();
        return nurseRoster.getNurseRosterInfo().isInPlanningWindow(shiftDate);


And configure it like this:
@PlanningEntity(movableEntitySelectionFilter = MovableShiftAssignmentSelectionFilter.class)
public class ShiftAssignment {


Thursday, August 16, 2012

Simulation testing in Guvnor: first glimpse of the UI

Here's a glimpse of the new UI in Guvnor for simulation testing:


Wednesday, August 08, 2012

jBPM5 & GSoC 2012

This year, jBPM5 was one of the lucky projects which was accepted in the Google Summer of Code Program. The topic of this year was to build a customizable and pluggable Human Task Lifecycle mechanism to extend the current functionality.
Demian Calcaprina is doing a wonderful job researching different alternatives to provide the mentioned features plus giving the project new ideas about how things can be improved.

Current Status

Demian, is finishing up some details and preparing the source code to be merged into the master repository of the jBPM5. He also wrote a very good post explaining the different options that he is proposing. This post:
Can be easily transformed into the project documentation for this new mechanism as soon as its integrated.

Benefits for the project

Having Demian participating from the community side of the project, help us to spend some time analyzing different alternatives that until know the project members didn't have time to explore. The contributions from are extremely valuable and I personally think that having a BPM project as part of the GSoC is really nice and we as a project will continue looking forward for more community contributors.
We are all learning on how to improve and how to coordinate the community contributions and we notice that more and more people is interesting and adopting open source BPM projects.
From the BPM and Rule Engine arena every team member and community contributor is pushing forward the community engagement trying make this projects evolve!
If you wanna contribute with these projects but you don't know how, get it contact, write a comment here and we will guide you!
Kudos to Demian who is doing a wonderful job!


Monday, August 06, 2012

Process and Task Form editing in jBPM Designer

Process and Task Form editing in jBPM Designer is a breeze with many cool features such as:
  • Customizable Form Widgets
  • Live Preview
  • Auto-completion on Process Variables, Globals, Data Objects, Data Inputs/Outputs
  • HTML element completion
  • Search and Search/Replace
In the video below we show off these features and demo the creation of both an HTML and a Mobile process form all using the In-Line Process and Task Form editing ability in jBPM Designer. These features allow you not to be tied to a particular set of form elements and web technologies which you are allowed to use, but give you the ability to decide how your forms should be defined and coded.

Enjoy :)