Implemented at branches/linopt_symbolic #316.
Not havily tested. Test should be provided and after that it is ready to merge back to trunk.