{
  "_id": "6a489ff3e06c18f0a6543868",
  "Package": "multiobjectiveMDP",
  "Title": "Solution Methods for Multi-Objective Markov Decision Processes",
  "Version": "1.0.0",
  "Authors@R": "person(\"Anas\", \"Mifrani\", , \"anas.mifrani@math.univ-toulouse.fr\", role = c(\"aut\", \"cre\", \"cph\"), comment = c(ORCID = \"0009-0005-1373-9028\"))",
  "Description": "Compendium of the most representative algorithms in\nprint---vector-valued dynamic programming, linear programming,\npolicy iteration, the weighting factor approach---for solving\nmulti-objective Markov decision processes, with or without\nreward discount, over a finite or infinite horizon. Mifrani, A.\n(2024) <doi:10.1007/s10479-024-06439-x>; Mifrani, A. & Noll, D.\n<doi:10.48550/arXiv.2502.13697>; Wakuta, K. (1995)\n<doi:10.1016/0304-4149(94)00064-Z>.",
  "License": "GPL-3",
  "Encoding": "UTF-8",
  "RoxygenNote": "7.1.2",
  "VignetteBuilder": "knitr",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-04 05:50:22 UTC",
    "User": "root"
  },
  "Author": "Anas Mifrani [aut, cre, cph] (ORCID:\n<https://orcid.org/0009-0005-1373-9028>)",
  "Maintainer": "Anas Mifrani <anas.mifrani@math.univ-toulouse.fr>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-03-06 19:06:38 UTC",
  "RemoteUrl": "https://github.com/cran/multiobjectiveMDP",
  "RemoteRef": "HEAD",
  "RemoteSha": "09555c16fb6e4c3371d757ad6d07f6f0b307bc23",
  "_user": "cran",
  "_type": "src",
  "_file": "multiobjectiveMDP_1.0.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/6a442f8d4bdfb0155271d80c2638a22f25d5f4735ae0b3a28ab6d96c1cd87eee",
  "_filesize": 339007,
  "_sha256": "6a442f8d4bdfb0155271d80c2638a22f25d5f4735ae0b3a28ab6d96c1cd87eee",
  "_expires": "2026-10-12T05:53:54.000Z",
  "_created": "2026-07-04T05:50:22.000Z",
  "_published": "2026-07-04T05:53:55.569Z",
  "_jobs": [
    {
      "job": 85107739554,
      "time": 146,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8078857155"
    },
    {
      "job": 85107739552,
      "time": 174,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8078861072"
    },
    {
      "job": 85107534847,
      "time": 181,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8078837654"
    },
    {
      "job": 85107739545,
      "time": 145,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8078857159"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/28696728518",
  "_status": "success",
  "_upstream": "https://github.com/cran/multiobjectiveMDP",
  "_commit": {
    "id": "09555c16fb6e4c3371d757ad6d07f6f0b307bc23",
    "author": "Anas Mifrani <anas.mifrani@math.univ-toulouse.fr>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 1.0.0\n",
    "time": 1772823998
  },
  "_maintainer": {
    "name": "Anas Mifrani",
    "email": "anas.mifrani@math.univ-toulouse.fr"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "linprog",
      "role": "Imports"
    },
    {
      "package": "lintools",
      "role": "Imports"
    },
    {
      "package": "nsga2R",
      "role": "Imports"
    },
    {
      "package": "pracma",
      "role": "Imports"
    },
    {
      "package": "prodlim",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-10",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "1.0.0",
      "date": "2026-03-06"
    }
  ],
  "_stars": 0,
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 615,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 226,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/multiobjectiveMDP"
  },
  "_searchresults": 0,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/multiobjectiveMDP.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "manual.pdf"
  ],
  "_realowner": "cran",
  "_cranurl": false,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2026-03-06"
    }
  ],
  "_exports": [
    "are_valid_finite_horizon_rewards",
    "are_valid_finite_horizon_transition_probabilities",
    "are_valid_infinite_horizon_rewards",
    "are_valid_infinite_horizon_transition_probabilities",
    "compromise_solution",
    "discounted_bellman_operator",
    "efficient_subset_sort_prune",
    "evaluate_discounted_MMDP_pure_policy",
    "evaluate_finite_horizon_MMDP_markov_policy",
    "generate_rand_MMDP",
    "is_valid_finite_horizon_policy",
    "is_valid_infinite_horizon_policy",
    "solve_discounted_MDP_policy_iteration",
    "solve_discounted_MMDP_linear_programming",
    "solve_discounted_MMDP_policy_iteration",
    "solve_discounted_MMDP_weighting_factor",
    "solve_finite_horizon_MDP_backward_induction",
    "solve_finite_horizon_MMDP_backward_induction",
    "solve_finite_horizon_MMDP_linear_programming",
    "solve_finite_horizon_MMDP_weighting_factor",
    "solve_MOLP",
    "sum_set",
    "value_function_domination_sets"
  ],
  "_help": [
    {
      "page": "are_valid_finite_horizon_rewards",
      "title": "Determine whether a numeric list represents a valid reward structure for finite-horizon problems",
      "topics": [
        "are_valid_finite_horizon_rewards"
      ]
    },
    {
      "page": "are_valid_finite_horizon_transition_probabilities",
      "title": "Determine whether a numeric list represents a valid transition probability structure for finite-horizon problems",
      "topics": [
        "are_valid_finite_horizon_transition_probabilities"
      ]
    },
    {
      "page": "are_valid_infinite_horizon_rewards",
      "title": "Determine whether a numeric list represents a valid reward structure for infinite-horizon problems",
      "topics": [
        "are_valid_infinite_horizon_rewards"
      ]
    },
    {
      "page": "are_valid_infinite_horizon_transition_probabilities",
      "title": "Determine whether a numeric list represents a valid transition probability structure for infinite-horizon problems",
      "topics": [
        "are_valid_infinite_horizon_transition_probabilities"
      ]
    },
    {
      "page": "compromise_solution",
      "title": "Calculate the compromise solution among a set of objective vectors",
      "topics": [
        "compromise_solution"
      ]
    },
    {
      "page": "discounted_bellman_operator",
      "title": "Apply a stationary Bellman-type operator to a vector-valued value function",
      "topics": [
        "discounted_bellman_operator"
      ]
    },
    {
      "page": "efficient_subset_sort_prune",
      "title": "Find the Pareto efficient subset of a set of vectors",
      "topics": [
        "efficient_subset_sort_prune"
      ]
    },
    {
      "page": "evaluate_discounted_MMDP_pure_policy",
      "title": "Evaluate a stationary policy in a discounted infinite-horizon multi-objective Markov decision process",
      "topics": [
        "evaluate_discounted_MMDP_pure_policy"
      ]
    },
    {
      "page": "evaluate_finite_horizon_MMDP_markov_policy",
      "title": "Evaluate a Markov deterministic policy for a finite-horizon multi-objective Markov decision process",
      "topics": [
        "evaluate_finite_horizon_MMDP_markov_policy"
      ]
    },
    {
      "page": "generate_rand_MMDP",
      "title": "Generate a random instance of a multi-objective Markov decision process",
      "topics": [
        "generate_rand_MMDP"
      ]
    },
    {
      "page": "is_valid_finite_horizon_policy",
      "title": "Determine whether an integer matrix represents a policy for a given class of finite-horizon problems",
      "topics": [
        "is_valid_finite_horizon_policy"
      ]
    },
    {
      "page": "is_valid_infinite_horizon_policy",
      "title": "Determine whether an integer vector represents a stationary policy for a given class of infinite-horizon problems",
      "topics": [
        "is_valid_infinite_horizon_policy"
      ]
    },
    {
      "page": "solve_discounted_MDP_policy_iteration",
      "title": "Optimize a discounted infinite-horizon Markov decision process through policy iteration",
      "topics": [
        "solve_discounted_MDP_policy_iteration"
      ]
    },
    {
      "page": "solve_discounted_MMDP_linear_programming",
      "title": "Optimize a discounted infinite-horizon multi-objective Markov decision process through linear programming",
      "topics": [
        "solve_discounted_MMDP_linear_programming"
      ]
    },
    {
      "page": "solve_discounted_MMDP_policy_iteration",
      "title": "Optimize a discounted infinite-horizon multi-objective Markov decision process through policy iteration",
      "topics": [
        "solve_discounted_MMDP_policy_iteration"
      ]
    },
    {
      "page": "solve_discounted_MMDP_weighting_factor",
      "title": "Optimize a discounted infinite-horizon multi-objective Markov decision process through the weighting factor approach",
      "topics": [
        "solve_discounted_MMDP_weighting_factor"
      ]
    },
    {
      "page": "solve_finite_horizon_MDP_backward_induction",
      "title": "Solve a standard finite-horizon Markov decision process through dynamic programming",
      "topics": [
        "solve_finite_horizon_MDP_backward_induction"
      ]
    },
    {
      "page": "solve_finite_horizon_MMDP_backward_induction",
      "title": "Optimize a finite-horizon multi-objective Markov decision process through vector-valued dynamic programming",
      "topics": [
        "solve_finite_horizon_MMDP_backward_induction"
      ]
    },
    {
      "page": "solve_finite_horizon_MMDP_linear_programming",
      "title": "Optimize a finite-horizon multi-objective Markov decision process through linear programming",
      "topics": [
        "solve_finite_horizon_MMDP_linear_programming"
      ]
    },
    {
      "page": "solve_finite_horizon_MMDP_weighting_factor",
      "title": "Optimize a finite-horizon multi-objective Markov decision process through the weighting factor approach",
      "topics": [
        "solve_finite_horizon_MMDP_weighting_factor"
      ]
    },
    {
      "page": "solve_MOLP",
      "title": "Solve a multi-objective linear programming problem by a simplex-type method",
      "topics": [
        "solve_MOLP"
      ]
    },
    {
      "page": "sum_set",
      "title": "Calculate the sum set (Minkowski sum) of two or more sets of vectors",
      "topics": [
        "sum_set"
      ]
    },
    {
      "page": "value_function_domination_sets",
      "title": "Compare two or more vector-valued value functions",
      "topics": [
        "value_function_domination_sets"
      ]
    }
  ],
  "_rundeps": [
    "cli",
    "codetools",
    "cpp11",
    "data.table",
    "diagram",
    "digest",
    "dplyr",
    "farver",
    "future",
    "future.apply",
    "generics",
    "ggplot2",
    "globals",
    "glue",
    "gtable",
    "isoband",
    "KernSmooth",
    "labeling",
    "lattice",
    "lava",
    "lifecycle",
    "linprog",
    "lintools",
    "listenv",
    "lpSolve",
    "magrittr",
    "Matrix",
    "mco",
    "nsga2R",
    "numDeriv",
    "parallelly",
    "pillar",
    "pkgconfig",
    "pracma",
    "prodlim",
    "progressr",
    "R6",
    "RColorBrewer",
    "Rcpp",
    "rlang",
    "S7",
    "scales",
    "shape",
    "SQUAREM",
    "survival",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "Introduction-to-multiobjectiveMDP.Rmd",
      "filename": "Introduction-to-multiobjectiveMDP.html",
      "title": "Introduction to multiobjectiveMDP",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Multi-objective Markov decision processes",
        "Transition probabilities and rewards",
        "Decision rules and policies",
        "Value functions and preference patterns",
        "An example",
        "References"
      ],
      "created": "2026-03-06 19:06:38",
      "modified": "2026-03-06 19:06:38",
      "commits": 1
    }
  ],
  "_score": 2,
  "_indexed": true,
  "_nocasepkg": "multiobjectivemdp",
  "_universes": [
    "cran"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.0",
      "date": "2026-07-04T05:52:36.000Z",
      "distro": "resolute",
      "commit": "09555c16fb6e4c3371d757ad6d07f6f0b307bc23",
      "fileid": "https://r2.ropensci.org/bdcd5e196da55934bdef1fb7c692b6af9aaba029eb1f4ecc152a42e93056f68e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/28696728518"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.0.0",
      "date": "2026-07-04T05:52:57.000Z",
      "distro": "resolute",
      "commit": "09555c16fb6e4c3371d757ad6d07f6f0b307bc23",
      "fileid": "https://r2.ropensci.org/9ed9b4fda58e89c7c170714a953bbc586fdc39d47cf94374cc890b289626e560",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/28696728518"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.0",
      "date": "2026-07-04T05:53:07.000Z",
      "commit": "09555c16fb6e4c3371d757ad6d07f6f0b307bc23",
      "fileid": "https://r2.ropensci.org/301ef1a9438e5b0bf331b6a5611bfdb03581adf83bfaa6ce04b95d60342f8b8e",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/28696728518"
    }
  ]
}