Giter Site home page Giter Site logo

Comments (4)

jeffreyhanson avatar jeffreyhanson commented on June 14, 2024 1

Hi,

Thanks for reaching out @MillerJeju!

This error is saying that the problem failed one or more presolve checks. The presolve checks are run before solving a problem to check for potential issues that might result in strange, invalid, or undesireable solutions (i.e. solutions that might be mathematically valid, but clearly aren't helpful for policy). Here, we can see the presolve checks are saying that most planning units don't have any features inside them. For example, you might have 200k planning units in total, but only 1k planning units actually have at last one species present inside them. So, depending on the goals of your study, the warning is saying that if you want to identify important areas for biodiversity from among all of the planning units, then you might need more features/species to help ensure that you're not missing out on any important areas (because these 3 species might not be enough). However, if you're only interested in these three species -- and don't care about any other biodiversity in the study area at all -- then you can ignore this presolve check. If that's the case, you can tell prioritizr to ignore the failed presolve check and force it so generate a solution using solve(p10_c, force = TRUE). How does that sound?

Also, I notice that some of your planning unitsh have zero costs. This can cause issues because the solution might randomly contain some of the zero-cost planning units even if they aren't needed to meet the targets. The reason why they are randomly selected is because they are considered free (because they cost absolutely nothing). In most cases, this is undesireable -- because if you're trying to identify priority areas, then having these additional superfluous planning units in the solution make it difficult to identify the "real" priority areas -- so people generally transform the values to avoid zeros. For example, you could rescale the cost values between 1 and 1000, or add a small number to all the costs (e.g. 0.01) to avoid zeros. What do you think?

Please let me know if anything I've wrriten isn't clear, or if you have any follow up questions?

from prioritizr.

MillerJeju avatar MillerJeju commented on June 14, 2024

Thank you so much for your reply.
Your answer is the only way to solve the problem for me. Since it is my first time with Prioritizr, I am in the process of pilot testing, so I only conducted 3 species. From your answer, it seems that the planning unit needs to be modified. I'll try some more and let you know the results. I also read the papers you published while doing research, and I was really impressed. I may not be able to do research with you, but it would be great to do related research with you.

from prioritizr.

jeffreyhanson avatar jeffreyhanson commented on June 14, 2024

No worries! Yeah, trying out prioritizr with a small dataset is a great way to learn how to use it. Brilliant - let me know if you run into any further issues or have any questions about interpreting the results? I'm always happy to answer any questions about prioritizr. Thanks for the kind words!

from prioritizr.

jeffreyhanson avatar jeffreyhanson commented on June 14, 2024

Closing this since I think we've addressed the issue. Please feel free to re-open this issue or create a new issue if you want to chat more about this.

from prioritizr.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.