1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2 /*                                                                           */
3 /*        This file is part of the program PolySCIP                          */
4 /*                                                                           */
5 /*    Copyright (C) 2012-2021 Konrad-Zuse-Zentrum                            */
6 /*                            fuer Informationstechnik Berlin                */
7 /*                                                                           */
8 /*  PolySCIP is distributed under the terms of the ZIB Academic License.     */
9 /*                                                                           */
10 /*  You should have received a copy of the ZIB Academic License              */
11 /*  along with PolySCIP; see the file LICENCE.                               */
12 /*                                                                           */
13 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
14 
15 /**
16  * @file ReaderMOP.h
17  * @brief .mop file format reader
18  * @author Sebastian Schenker
19  * @author Timo Strunk
20  *
21  * Adaption of SCIP MPS reader towards MOP format with multiple objectives.
22  * The input file has to follow some simple conventions
23  * - It has to contain a problem in
24  * <a href="http://en.wikipedia.org/wiki/MPS_%28format%29">MPS</a> format
25  * - The file extension must be <code>.mop</code>
26  * - Every row marked <code>N</code> is treated as an objective
27  */
28 
29 #ifndef POLYSCIP_SRC_READER_MOP_H_INCLUDED
30 #define POLYSCIP_SRC_READER_MOP_H_INCLUDED
31 
32 #include "objscip/objscip.h"
33 
34 /**
35  * @class ReaderMOP
36  * @brief Class for .mop file reader
37  */
38 class ReaderMOP : public scip::ObjReader {
39 public:
40     /**
41      * Constructor
42      * @param scip SCIP pointer
43      */
ReaderMOP(SCIP * scip)44     ReaderMOP(SCIP *scip)
45             : scip::ObjReader(scip, "MOP Reader", "file reader for MOP file", "mop") { };
46 
47     /**
48      * Destructor
49      */
~ReaderMOP()50     virtual ~ReaderMOP() { };
51 
52     /**
53      * Virtual SCIP function
54      */
55     virtual SCIP_DECL_READERFREE(scip_free);
56 
57     /**
58      * Virtual SCIP function
59      */
60     virtual SCIP_DECL_READERREAD(scip_read);
61 
62 };
63 
64 #endif //POLYSCIP_SRC_READER_MOP_H_INCLUDED
65