source: trunk/include/PresolveUseless.hpp @ 50

Last change on this file since 50 was 50, checked in by ladanyi, 17 years ago

devel-1 merged into HEAD

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 979 bytes
Line 
1// Copyright (C) 2002, International Business Machines
2// Corporation and others.  All Rights Reserved.
3
4#ifndef PresolveUseless_H
5#define PresolveUseless_H
6#define USELESS         20
7
8class useless_constraint_action : public PresolveAction {
9  struct action {
10    double rlo;
11    double rup;
12    int row;
13    int ninrow;
14    const int *rowcols;
15    const double *rowels;
16  };
17
18  const int nactions_;
19  const action *const actions_;
20
21  useless_constraint_action(int nactions,
22                      const action *actions,
23                      const PresolveAction *next) :
24    PresolveAction(next),
25    nactions_(nactions), actions_(actions) {};
26
27 public:
28  const char *name() const;
29
30  // These rows are asserted to be useless,
31  // that is, given a solution the row activity
32  // must be in range.
33  static const PresolveAction *presolve(PresolveMatrix * prob,
34                                         const int *useless_rows,
35                                         int nuseless_rows,
36                                         const PresolveAction *next);
37
38  void postsolve(PostsolveMatrix *prob) const;
39};
40
41
42#endif
Note: See TracBrowser for help on using the repository browser.