Preface

How to read this tutorial

This document is made for anyone who wants to learn using OscaR-CP and OscaR-CBLS. For each topic covered in this document, we label it with the L1, L2 or L3 level with L3 being the most advanced level:

  • Level 1: Beginning OscaR Modeler
  • Level 2: Advanced OscaR Modeler
  • Level 3: Expert OscaR Modeler

A beginner can only focus on L1 topics for a first reading.

We hope this document will continuously evolve. Don’t hesitate to give us feedback or suggestion for improvement. You are also welcome to report any mistake or bug.

What you will NOT find in this document

  • an introduction to modeling techniques and good practice
  • a description of algorithms
  • an introduction to the architecture of solvers
  • a complete description of OscaR API
  • a scala tutorial

Install OscaR

We recommend using OscaR from Eclipse IDE or IntelliJ. Some installation instructions are available from OscaR wiki.

Getting Help with OscaR

You’ll get greatest chance of getting answers to your questions using the oscar usergroup.

Learning Scala

No deep knowledge of Scala is necessary to use OscaR basic functionalities. In case you want to learn more about Scala, we found this tutorial made by twitter very good (yes twitter is implemented with Scala):

Miscellaneous

Acknowledgment

Many people have contributed to the CP library of OscaR by making suggestions by providing useful feedback (researchers, students, collaborators, etc). <http://oscarlib.bitbucket.org/about.html>

Citing OscaR CP

If you use find this document useful for your research you can cite:

@Misc{oscar-userguide,
  author = "{Pierre Schaus, Renaud De Landtsheer}",
  title = "OscaR User-guide",
  year = {2016},
  note = {Available from \texttt{http://oscarlib.org}},
}

If you use OscaR for your research, you can cite:

@Misc{oscar,
  author = "{OscaR Team}",
  title = "{O}sca{R}: {S}cala in {OR}",
  year = {2012},
  note = {Available from \texttt{https://bitbucket.org/oscarlib/oscar}},
}