Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
And now cleanup the App-side of cruft that was needed for Checker to read actor infor...
[simgrid.git] / src / kernel / lmm / bmf.hpp
index fdb65cdbaa92ea59e5325f0fb5ae8948d2f1ec4c..dfc7ff98e21f4b15fc5b191ca7cd9b92ae4a2363 100644 (file)
@@ -7,12 +7,20 @@
 #define SIMGRID_KERNEL_LMM_BMF_HPP
 
 #include "src/kernel/lmm/System.hpp"
+
+#ifdef __clang__
+// Ignore deprecation warnings with Eigen < 4.0 (see https://gitlab.com/libeigen/eigen/-/issues/1850)
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+#endif
 #include <Eigen/Dense>
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+
 #include <unordered_set>
 
-namespace simgrid {
-namespace kernel {
-namespace lmm {
+namespace simgrid::kernel::lmm {
 
 /** @brief Generate all combinations of valid allocation */
 class XBT_PUBLIC AllocationGenerator {
@@ -74,10 +82,8 @@ public:
    * @param C Resource capacity
    * @param shared Is resource shared between player or each player receives the full capacity (FATPIPE links)
    * @param phi Bound for each player
-   * @param weight Weight/priority for each player
    */
-  BmfSolver(Eigen::MatrixXd A, Eigen::MatrixXd maxA, Eigen::VectorXd C, std::vector<bool> shared, Eigen::VectorXd phi,
-            Eigen::VectorXd weight);
+  BmfSolver(Eigen::MatrixXd A, Eigen::MatrixXd maxA, Eigen::VectorXd C, std::vector<bool> shared, Eigen::VectorXd phi);
   /** @brief Solve equation system to find a fair-sharing of resources */
   Eigen::VectorXd solve();
 
@@ -185,11 +191,9 @@ private:
   Eigen::VectorXd C_;    //!< C_j Capacity of each resource
   std::vector<bool> C_shared_; //!< shared_j Resource j is shared or not
   Eigen::VectorXd phi_;        //!< phi_i bound for each player
-  Eigen::VectorXd weight_;     //!< weight_i for each player
 
   std::set<std::vector<int>> allocations_; //!< set of already tested allocations, since last identified loop
   AllocationGenerator gen_;
-  std::vector<int> allocations_age_;
   static constexpr int NO_RESOURCE = -1;                    //!< flag to indicate player has selected no resource
   int max_iteration_;                                       //!< number maximum of iterations of BMF algorithm
 };
@@ -257,10 +261,8 @@ private:
    * @param A Consumption matrix (OUTPUT)
    * @param maxA Max subflow consumption matrix (OUTPUT)
    * @param phi Bounds for variables
-   * @param weight Priority/weight for variables
    */
-  void get_flows_data(Eigen::Index number_cnsts, Eigen::MatrixXd& A, Eigen::MatrixXd& maxA, Eigen::VectorXd& phi,
-                      Eigen::VectorXd& weight);
+  void get_flows_data(Eigen::Index number_cnsts, Eigen::MatrixXd& A, Eigen::MatrixXd& maxA, Eigen::VectorXd& phi);
   /**
    * @brief Builds the vector C_ with resource's capacity
    *
@@ -275,8 +277,6 @@ private:
   std::unordered_map<const Constraint*, int> cnst2idx_; //!< Conversely map constraint to index
 };
 
-} // namespace lmm
-} // namespace kernel
-} // namespace simgrid
+} // namespace simgrid::kernel::lmm
 
 #endif