fzao / caramel Goto Github PK
View Code? Open in Web Editor NEWMulti-objective optimization in R
License: GNU Lesser General Public License v3.0
Multi-objective optimization in R
License: GNU Lesser General Public License v3.0
This package has been very helpful to us for visualizing many-objective optimization results. Thank you!
With 100s of thousands of potential solutions, the dominate() method runs for upwards of an hour (as expected).
We had a corrupted input file where the last line was truncated and there was one row with an NA value. In this case, dominate() continued to run with the busy CPU utilization as if it was still calculating values, but it was forever hung. It took awhile to figure out it wasn't working correctly, and then a bit of debugging to figure out why.
Although, this is clearly an error in the input data, it would be good to protect against this case. To me, a better solution would be to detect any NAs in the input and fail immediately with a corresponding message.
The following demonstrates:
This runs fine as per the documentation:
mat_ok <- matrix(runif(20),10,2)
mat_ok # view the matrix
any(is.na(mat_ok)) # no NAs
caRamel::dominate(mat_ok) # completes
This hangs forever with high CPU:
mat_w_na <- mat_ok
mat_w_na[10,1] <-NA # same matrix as above with one NA value
mat_w_na # view the new matrix
any(is.na(mat_w_na)) # at least one NA
caRamel::dominate(mat_w_na) # hangs in busy state
Hello, it would be great to be able to pass an arbitrary number of parameters to "func" in the caRamel function if we have variables coming from the overall script that are used in the objective functions. E.g.:
my_obj_func <- function(i, var1, var2, var3) {
...
return(goodness_of_fit)
}
caRamel(
...
func=my_obj_func,
...
carallel=TRUE, numcores=10,
var1=aaa, var2=bbb, var3=ccc
)
If the objective function is quite long with many variables as in my case, it would avoid hard coding every variable value inside the objective function, especially if the function is reused many times in the script...
Hello! This package is fantastic.
For my use case, I am wondering whether it is possible to use more complex constraints on the objective functions than just upper and lower bounds for the parameters? For example, "the overall amount of a certain subset of the parameters used must be lower than a certain level". I would happy to discuss this in some other way (e.g. via email) if more convenient. Thank you :)
I want to add an output variable for subcatch, which has only a few options, such as choices<- list ("x4"=c (207, 39, 206, 214, 121)). Can I set the range of this variable in caRamel? How to set it up? I look forward to your reply and help very much, and I would greatly appreciate any of your suggestions.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.