00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef _PopulationNetworkSegmentList_h
00021 #define _PopulationNetworkSegmentList_h
00022
00023 #include "FinancialMathFunctions.h"
00024 #include "PopulationNetworkSegment.h"
00025
00026
00027 class s_liste
00028 { protected:
00029 int nw_nr;
00030 int sanzahl;
00031 int letzte_s_nr;
00032
00033
00034 int n_ges;
00035 double ha_ges;
00036 double db_ges;
00037 double ws_ges;
00038
00039
00040
00041 MatrixDouble innovN;
00042 MatrixDouble innovHA;
00043 MatrixDouble innovDB;
00044 MatrixDouble innovWS;
00045
00046 MatrixDouble erzw_aufgabe;
00047 MatrixDouble frei_aufgabe;
00048 MatrixDouble plan_fehler;
00049
00050 segment* firstSegment;
00051 segment* merkeSegment;
00052
00053 public:
00054 s_liste(int);
00055 virtual ~s_liste()
00056 { innovN.deallokieren();
00057 innovHA.deallokieren();
00058 innovDB.deallokieren();
00059 innovWS.deallokieren();
00060 erzw_aufgabe.deallokieren();
00061 frei_aufgabe.deallokieren();
00062 plan_fehler.deallokieren();
00063 liste_loeschen();
00064 }
00065
00066 virtual void innov_anlegen();
00067 virtual void aufgabe_anlegen();
00068 virtual void aufgabe_eintragen(int, int);
00069 virtual void planfehler_eintragen(int);
00070
00071
00072 virtual void segment_anlegen(char*);
00073 virtual void deallokieren(segment*);
00074 virtual void einfuegen(segment*);
00075 virtual int get_anzahl(void);
00076 virtual int get_nummer(void);
00077 virtual segment* segment_suchen(int);
00078 virtual segment* getFirst();
00079
00080
00081 virtual double getInvBound(int segID, int sclass);
00082 virtual int insertObjectIDsForLpColumns(MatrixDouble& lpIndicesAndRelativeCosts);
00083
00084
00085 virtual void make_n_ges(int);
00086 virtual void make_ha_ges(double);
00087 virtual void make_db_ges(double);
00088 virtual void make_ws_ges(double);
00089 virtual void make_n_ha_start(int, double);
00090
00091
00092
00093
00094
00095
00096
00097 virtual nutz get_Nutzer(int, int);
00098 virtual int get_seg_banzahl(int wann, int seg);
00099 virtual void matrizen_aktualisieren();
00100
00101 virtual void printToScreen(segment*);
00102 virtual void printOnScreen_list(void);
00103 virtual void liste_loeschen(void);
00104 virtual void diffusionsdaten(FILE*);
00105 virtual void aufgabedaten(FILE*);
00106 virtual void diffusion_periodendaten(FILE*);
00107 virtual void aufgabe_periodendaten(FILE*);
00108 };
00109
00110 #endif
00111