/*! \page pageProblems OMCases, Problems and Results

\section OMCase

OMCase is a base class corresponding either to a Result or a Problem (those are inheriting classes of OMCase). It is used since results and problems share functions and attributes, like:

-# a file path.
-# a save function.
-# a Xml conversion function.
-# a pointer to their related project.
	
	
\section Problem

Problem is an abstract class inheriting OMCase. It can correspond to all kind of optimization problems we could have. For instance, Optimization, OneSimulation and future other problems inherit Problem.


Main functions to implement include Problem::launch which perform calculations, loading and saving functions. Lauching a problem should return a result inheriting Result class.


\subsection Problems
Problems is a vector of Problem instances. It inherits MOVector<Problem>.

\section Result

As Problem class, Result class is an abstract class inheriting OMCase. It can correspond to all kind of optimization results we could have. For instance, OptimResult, OneSimResult and future other problems inherit Result.

Within a result class, there should be the copy of the problem of which it is the result.

\subsection Results
Results is a vector of Result instances. It inherits MOVector<Result>.

 **/
