Git Product home page Git Product logo

optaplannerhellotest's Introduction

Optaplanner Hello 5 Times

This project as written to be the exact mimimum necessary to get OptaPlanner up and running.

Appearances of Tight Coupling Makes Learning OptaPlanner Challenging, At Least To a Developer Like Me

Sometimes when a new technology comes along, it can be a real head scratcher to figure out the basic stuff. That's when a "See Dick Run" level of code is the easiest way to learn it. Something with just the basic semantics to just see how some technology works. The slightest extra details throw us off and confuse us - such as for example, extra UI, persistence, misc infrastructure.

I found the examples that come with OptaPlanner to be brilliant, helpful, and necessary to understand what the possibilities of this technology can and does address. OptaPlanner example code is excellent and helpful. But at first, it might seem like OptaPlanner code is tightly coupled with the persistence and UI layers. That made it really hard for me to figure out where OptaPlanner starts, and the UI and persistence layers stop.

OptaPlanner Basics

What is this project?

  • The exact minimum amount of code necessary to demonstrate how OptaPlanner code works
  • Only 270 lines of code, even including Eclipse .project and .classpath and pom.xml
  • Written in Java
  • Uses a drools file for the OptaPlanner rules
  • Has no persistence, UI, or related infrastructure to confuse you
  • Does not even have tests - one main() method
  • Excercises a single PlanningVariable, in a single PlanningEntity

Watch What Happens!

  • Download code
  • Run Maven
  • Run HelloApp.main()
  • Change up the rules, even PlanningVariables and PlanningEntities - watch what happens!

What does this planner do?

  • Sets the single PlanningVariable to 5
  • Gives you a place to experiment with the drools file
  • Gives you a place to start your own project without someone else's UI or database

Requirements

  • Java
  • Maven

Extras

  • This project will import directly as an Eclipse (Luna) project

optaplannerhellotest's People

Contributors

petecarapetyan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

jo-wtf zzsczz

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.