Multi Objective Optimization

usman_ali
New Altair Community Member
Hello,
I am looking for the rapidminer solution to solve my following problem:
I have 10 number of inputs features and two numeric features are used for multi-objective
Inputs 1...10 , Objective 1, Objective 2
My goal select features that have a minimum value of Objective 1 and Objective 2.
For Example:
Select the building physics features that have a minimum energy cost and energy usage.
Currently, so far solution available online is used for classification algorithm but in my case objective variable is a simple numeric value.
I am looking for the rapidminer solution to solve my following problem:
I have 10 number of inputs features and two numeric features are used for multi-objective
Inputs 1...10 , Objective 1, Objective 2
My goal select features that have a minimum value of Objective 1 and Objective 2.
For Example:
Select the building physics features that have a minimum energy cost and energy usage.
Currently, so far solution available online is used for classification algorithm but in my case objective variable is a simple numeric value.
Tagged:
0
Answers
-
HI @usman_ali,
Here an example of (simple) process using the "Golf" Dataset :
In this dataset, we can assimilate the "Temperature" and "Humidity" to your Objective 1 and 2 attributes
and the 3 other attributes to your input 1 , 2, etc attributes.
You can adapt this process to your own data :<?xml version="1.0" encoding="UTF-8"?><process version="9.1.000-BETA2"> <context> <input/> <output/> <macros/> </context> <operator activated="true" class="process" compatibility="9.1.000-BETA2" expanded="true" name="Process"> <parameter key="logverbosity" value="init"/> <parameter key="random_seed" value="2001"/> <parameter key="send_mail" value="never"/> <parameter key="notification_email" value=""/> <parameter key="process_duration_for_mail" value="30"/> <parameter key="encoding" value="SYSTEM"/> <process expanded="true"> <operator activated="true" class="retrieve" compatibility="9.1.000-BETA2" expanded="true" height="68" name="Retrieve Golf" width="90" x="112" y="85"> <parameter key="repository_entry" value="//Samples/data/Golf"/> </operator> <operator activated="true" class="filter_examples" compatibility="9.1.000-BETA2" expanded="true" height="103" name="Filter Examples" width="90" x="313" y="85"> <parameter key="parameter_expression" value=""/> <parameter key="condition_class" value="custom_filters"/> <parameter key="invert_filter" value="false"/> <list key="filters_list"> <parameter key="filters_entry_key" value="Temperature.eq.64\.0"/> <parameter key="filters_entry_key" value="Humidity.eq.65\.0"/> </list> <parameter key="filters_logic_and" value="false"/> <parameter key="filters_check_metadata" value="true"/> </operator> <connect from_op="Retrieve Golf" from_port="output" to_op="Filter Examples" to_port="example set input"/> <connect from_op="Filter Examples" from_port="example set output" to_port="result 1"/> <portSpacing port="source_input 1" spacing="0"/> <portSpacing port="sink_result 1" spacing="0"/> <portSpacing port="sink_result 2" spacing="0"/> </process> </operator> </process>
Hope it helps .. (if this process don't answer to your need, can you be more explicit by giving an example..)
Regards,
Lionel
0 -
Thanks @lionelderkrikor for help.
But I am looking for optimization algorithm solution.
𝑥 = { 𝑋 wall , 𝑋 roof , 𝑋 ground , 𝑋 window , 𝑋 light , 𝑋 cool , 𝑋 heat }, in the solution space 𝑋,
the objective are
𝑍1 (x ∗) is energy cost
𝑍2 (x ∗) is energy consumption
find the vector(s) 𝑥 ∗ that: Minimise: 𝑍(𝑥 ∗ ) = {𝑍1 (x ∗), 𝑍2 (x ∗)} define the Pareto front
So the goal is to get optimal space X values that to minimize the objective value and
0 -
Hi,you need to have only one objective to be able to train a model on RM. The easiest option would be to sum the 2 objectives, i.e. Z3 := Z1 + Z2.Then you can train a model and use the model simulator to find the optimum:
<?xml version="1.0" encoding="UTF-8"?><process version="9.1.000"><br> <context><br> <input/><br> <output/><br> <macros/><br> </context><br> <operator activated="true" class="process" compatibility="9.1.000" expanded="true" name="Process"><br> <parameter key="logverbosity" value="init"/><br> <parameter key="random_seed" value="2001"/><br> <parameter key="send_mail" value="never"/><br> <parameter key="notification_email" value=""/><br> <parameter key="process_duration_for_mail" value="30"/><br> <parameter key="encoding" value="SYSTEM"/><br> <process expanded="true"><br> <operator activated="true" class="generate_data" compatibility="9.1.000" expanded="true" height="68" name="Generate Data" width="90" x="112" y="34"><br> <parameter key="target_function" value="random"/><br> <parameter key="number_examples" value="100"/><br> <parameter key="number_of_attributes" value="5"/><br> <parameter key="attributes_lower_bound" value="-10.0"/><br> <parameter key="attributes_upper_bound" value="10.0"/><br> <parameter key="gaussian_standard_deviation" value="10.0"/><br> <parameter key="largest_radius" value="10.0"/><br> <parameter key="use_local_random_seed" value="false"/><br> <parameter key="local_random_seed" value="1992"/><br> <parameter key="datamanagement" value="double_array"/><br> <parameter key="data_management" value="auto"/><br> </operator><br> <operator activated="true" class="multiply" compatibility="9.1.000" expanded="true" height="103" name="Multiply" width="90" x="246" y="34"/><br> <operator activated="true" class="h2o:generalized_linear_model" compatibility="9.0.000" expanded="true" height="124" name="Generalized Linear Model" width="90" x="313" y="289"><br> <parameter key="family" value="AUTO"/><br> <parameter key="link" value="family_default"/><br> <parameter key="solver" value="AUTO"/><br> <parameter key="reproducible" value="false"/><br> <parameter key="maximum_number_of_threads" value="4"/><br> <parameter key="use_regularization" value="true"/><br> <parameter key="lambda_search" value="false"/><br> <parameter key="number_of_lambdas" value="0"/><br> <parameter key="lambda_min_ratio" value="0.0"/><br> <parameter key="early_stopping" value="true"/><br> <parameter key="stopping_rounds" value="3"/><br> <parameter key="stopping_tolerance" value="0.001"/><br> <parameter key="standardize" value="true"/><br> <parameter key="non-negative_coefficients" value="false"/><br> <parameter key="add_intercept" value="true"/><br> <parameter key="compute_p-values" value="false"/><br> <parameter key="remove_collinear_columns" value="false"/><br> <parameter key="missing_values_handling" value="MeanImputation"/><br> <parameter key="max_iterations" value="0"/><br> <parameter key="specify_beta_constraints" value="false"/><br> <list key="beta_constraints"/><br> <parameter key="max_runtime_seconds" value="0"/><br> <list key="expert_parameters"/><br> </operator><br> <operator activated="true" class="model_simulator:model_simulator" compatibility="9.1.000" expanded="true" height="103" name="Model Simulator" width="90" x="581" y="34"/><br> <connect from_op="Generate Data" from_port="output" to_op="Multiply" to_port="input"/><br> <connect from_op="Multiply" from_port="output 1" to_op="Model Simulator" to_port="training data"/><br> <connect from_op="Multiply" from_port="output 2" to_op="Generalized Linear Model" to_port="training set"/><br> <connect from_op="Generalized Linear Model" from_port="model" to_op="Model Simulator" to_port="model"/><br> <connect from_op="Model Simulator" from_port="simulator output" to_port="result 1"/><br> <portSpacing port="source_input 1" spacing="0"/><br> <portSpacing port="sink_result 1" spacing="0"/><br> <portSpacing port="sink_result 2" spacing="0"/><br> </process><br> </operator><br></process><br><br>
If the problem is a bit more complex and you need to have all points of the Pareto front, AFAIK you have to look for another software (Python, R, Java, Matlab, etc.).Regards,Sebastian0