An Expert System for Ranking and Matching Electric Vehicles to Customer Specifications and Requirements
Abstract
:1. Introduction
2. The Literature Review
Factors | Authors | Brief Description |
---|---|---|
Energy management and operation of EV | Boglou et al. (2020) [1] | Voltages in the system’s buses are major limiting factors for EVs. |
Elmehdi et al. (2020) [2] | Genetic algorithm for optimal charge scheduling of EVs. | |
Das et al. (2020) [22] | Multi-objective optimization of EV for energy services. | |
Gelmanova et al. (2018) [4] | A rough calculation of the energy efficiency and average cost of EV. | |
Deptuła et al. (2022) [12] | An expert system to assess the energy consumption of an EV. | |
Shen et al. (2019) [15] | Optimization models for EV service operations. | |
EVs in specific regions | Rokicki et al. (2021) [3] | Electromobility in European Union countries under COVID-19 conditions. |
Sobiech-Grabka et al. (2022) [6] | EVs purchase intention in Poland. | |
Tal et al. (2020) [9] | EVs in California: policy and behavior perspectives. | |
Yamamura et al. (2022) [10] | EVs in Brazil: an analysis of core green technologies. | |
Razmjoo et al. (2022) [11] | The expansion of EVs in Europe. | |
Ziemba (2020) [27] | Multi-criteria stochastic selection of EVs in Poland. | |
Singh et al. (2021) [17] | Analysis of EV trends, development, and policies in India. | |
Wu et al. (2021) [18] | A review of evolutionary policy incentives for EVs in China: | |
Chen et al. (2020) [19] | a review on EV charging infrastructure development in the UK. | |
Palit et al. (2022) [20] | An MCDA to classify the drivers for the adoption of EVs in emerging economies. | |
EVs design, battery, and technology | Tsirogiannis et al. (2019) [13] | EV chassis. |
Li et al. (2019) [21] | Key technologies for pure EVs. | |
Tran et al. (2021) [23] | A review of range extenders in the battery of EVs. | |
Sanguesa et al. (2021) [16] | A review of EV technologies and challenges. | |
Chen et al. (2020) [19] | A review on EV charging infrastructure development in the UK. | |
Ranking and selecting EV | Biswas et al. (2019) [24] | Selection of EV using fuzzy AHP-MABAC. |
Więckowski et al. (2023) [26] | Sensitivity analysis in MCDA application to the selection of an EV. | |
Onat et al. (2016) [35] | TOPSIS and fuzzy set for ranking alternative vehicle technologies. | |
Singh et al. (2020) [14] | A review and meta-analysis of factors influencing the adoption of EVs. | |
Database | EV-Database [5] | EV database. |
Hadasik and Kubiczek (2021) [43] | Database of electric passenger cars with their specifications. |
3. The Proposed Model
3.1. The Steps of the Proposed Model
- Step 1: Define the EVs to be ranked and matched according to the availability in the market. The EVs being evaluated and ranked are significant because adding or removing an EV can change the scores of other EVs and their internal ranking. This phenomenon of rank reversal exists in many multicriteria ranking methods. A survey about rank reversal can be found in a review paper by [44];
- Step 2: Define the criteria for ranking the available EVs. Choose objective criteria whose values can be found in the EV specification sheet. Classify the criteria into three groups: criteria of inputs; criteria of outputs and criteria of personal preference;
- Step 3: Construct a matrix with the values of the criteria of each EV. The element of the matrix when ; is the value of the input criterion of EV . When and , is the value of the output criterion of EV . When and , is the value of the personal preference criterion of EV .
- Step 4: Find the minimum and maximum values of each criterion which are and To each criterion customers should set the minimum and maximum values of and respectively, between which the customers will consider their requirements fulfilled. If a customer decides that a criterion is not personally important or relevant, the matching value is set as 1;
- Step 5: Construct matrix Q, which converts the criteria values of each EV in matrix P, for one customer, to the range , calculated according to the fuzzy set principle. The customer must determine his/her subjective minimum and maximum values ( and , respectively) for each input and output criterion. The converted values of matrix Q are calculated as follows:
- Step 5.1: In the case where the criterion is input, the value of an element is calculated according to Equation (2). The calculation is performed according to the fuzzy membership principle, as seen in Figure 1.
- Step 5.2: In the case where the criterion is output, the value of an element is calculated according to Equation (3). The calculation is performed according to the fuzzy membership principle; see Figure 2.
- Step 5.3: In the case where the criterion is a continuous personal preference (e.g., the car’s height), the value of an element is calculated according to Equation (4); see Figure 3.
- Step 6: Choose a ranking method for evaluating and ranking the EVs according to matrix Q. We used the TOPSIS ranking method developed by [8] for order preference by similarity to an ideal solution. Our TOPSIS version, adjusted for EVs and ranked for a specific customer, works as follows:
- Step 6.1: Used the matrix Q constructed in Step 5 for the specific customer;
- Step 6.2: Evaluate the weight of each criterion,
- 1—Extra importance;
- 0.75—Very strong importance;
- 0.5—Strong importance;
- 0.25—Medium importance;
- 0—Not important.
- Step 6.3: Determine the positive and negative solutions for all the criteria according to Equation (5).
- Step 6.4: Calculate each EV’s separation measures (positive and negative) according to Equation (6).
- Step 6.5: Calculate the relative closeness coefficient to the ideal solution of each EV according to Equation (7).
- Step 6.6: To obtain a rank of the ESs , sort the EVs according to in decreasing order. The most preferred EV is ranked first, and so on;
- Step 7: Calculate , the number of instances where a specific EV does not comply with the customers’ requirements. This calculation is performed by counting the number of for an EV. Let’s define
3.2. Summary of the Methodology
4. Case Study
5. Discussion
6. Conclusions, Limitations, and Future Research
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
Appendix A
Car | X1 | X2 | X3 | Z1 | Z2 | Z3 | Z4 | Z5 | Z6 | Z7 |
---|---|---|---|---|---|---|---|---|---|---|
Car1 | 0.000 | 0.860 | 0.055 | 1.000 | 0.000 | 1.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car2 | 0.000 | 0.640 | 0.120 | 1.000 | 0.000 | 1.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car3 | 0.000 | 1.000 | 0.000 | 1.000 | 0.000 | 1.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car4 | 0.000 | 0.640 | 0.170 | 1.000 | 0.000 | 1.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car5 | 0.000 | 0.860 | 0.115 | 1.000 | 0.000 | 1.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car6 | 0.000 | 1.000 | 0.000 | 1.000 | 0.000 | 1.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car7 | 0.724 | 0.380 | 1.000 | 1.000 | 1.000 | 1.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car8 | 0.643 | 0.620 | 1.000 | 1.000 | 1.000 | 1.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car9 | 0.095 | 0.640 | 0.620 | 1.000 | 1.000 | 1.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car10 | 0.972 | 0.100 | 0.860 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car11 | 0.778 | 0.260 | 0.940 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car12 | 0.817 | 0.200 | 0.780 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car13 | 0.745 | 0.340 | 0.750 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car14 | 0.642 | 0.020 | 1.000 | 1.000 | 1.000 | 0.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car15 | 0.809 | 0.060 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car16 | 0.676 | 0.480 | 0.960 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car17 | 0.000 | 1.000 | 0.380 | 1.000 | 0.000 | 1.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car18 | 0.850 | 0.040 | 0.970 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car19 | 0.733 | 0.440 | 0.910 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car20 | 0.889 | 0.020 | 0.940 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car21 | 0.772 | 0.420 | 0.930 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car22 | 0.873 | 0.060 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 0.000 |
Car23 | 0.000 | 0.980 | 0.315 | 1.000 | 0.000 | 1.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car24 | 0.889 | 0.540 | 0.825 | 1.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 |
Car25 | 0.984 | 0.420 | 0.650 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car26 | 0.756 | 0.620 | 0.790 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car27 | 0.951 | 0.380 | 0.835 | 1.000 | 1.000 | 0.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car28 | 0.889 | 0.200 | 0.740 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car29 | 0.973 | 0.380 | 0.860 | 1.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 |
Car30 | 0.837 | 0.300 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car31 | 0.000 | 1.000 | 0.160 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car32 | 0.000 | 1.000 | 0.090 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car33 | 0.000 | 1.000 | 0.015 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car34 | 0.000 | 1.000 | 0.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car35 | 0.912 | 0.000 | 0.850 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 0.000 |
Car36 | 0.873 | 0.100 | 0.850 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 |
Car37 | 1.000 | 0.000 | 0.955 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car38 | 1.000 | 0.000 | 0.865 | 0.000 | 1.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 |
Car39 | 1.000 | 0.000 | 0.800 | 0.000 | 1.000 | 1.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car40 | 0.581 | 0.880 | 0.400 | 1.000 | 1.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 |
Car41 | 0.358 | 1.000 | 0.300 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 |
Car42 | 0.220 | 1.000 | 0.200 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 |
Car43 | 0.000 | 1.000 | 0.200 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 |
Car44 | 0.000 | 1.000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 |
Car45 | 0.000 | 1.000 | 0.000 | 1.000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 |
Car46 | 0.000 | 1.000 | 0.000 | 1.000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 | 0.000 |
Car47 | 1.000 | 0.000 | 1.000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car48 | 0.801 | 0.540 | 0.960 | 0.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 0.000 |
Car49 | 0.667 | 0.420 | 0.910 | 0.000 | 1.000 | 1.000 | 1.000 | 1.000 | 1.000 | 0.000 |
Car50 | 0.542 | 0.300 | 0.700 | 0.000 | 1.000 | 1.000 | 0.000 | 1.000 | 1.000 | 0.000 |
Car51 | 0.470 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 1.000 | 0.000 | 1.000 | 1.000 |
Car52 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 |
Car53 | 0.754 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 |
Car | Y1 | Y2 | Y3 | Y4 | Y5 | Y6 | Y7 | Y8 | Y9 | Y10 | Y11 | Y12 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Car1 | 1.000 | 0.910 | 1.000 | 0.920 | 0.928 | 1.000 | 0.270 | 1.000 | 0.686 | 1.000 | 1.000 | 1.000 |
Car2 | 1.000 | 0.600 | 1.000 | 0.267 | 0.928 | 1.000 | 0.270 | 1.000 | 0.771 | 1.000 | 1.000 | 1.000 |
Car3 | 1.000 | 1.000 | 1.000 | 0.427 | 0.928 | 1.000 | 0.352 | 1.000 | 0.471 | 1.000 | 1.000 | 1.000 |
Car4 | 1.000 | 0.600 | 1.000 | 0.307 | 0.928 | 1.000 | 0.270 | 1.000 | 0.686 | 1.000 | 1.000 | 1.000 |
Car5 | 1.000 | 0.910 | 1.000 | 0.980 | 0.928 | 1.000 | 0.270 | 1.000 | 0.771 | 1.000 | 1.000 | 1.000 |
Car6 | 1.000 | 1.000 | 1.000 | 0.460 | 0.928 | 1.000 | 0.352 | 1.000 | 0.471 | 1.000 | 1.000 | 1.000 |
Car7 | 0.350 | 0.000 | 0.407 | 0.393 | 0.570 | 0.506 | 0.000 | 0.000 | 0.114 | 1.000 | 0.000 | 0.000 |
Car8 | 0.420 | 0.000 | 0.407 | 0.300 | 0.570 | 0.506 | 0.000 | 0.000 | 0.114 | 1.000 | 0.000 | 0.000 |
Car9 | 0.930 | 0.250 | 1.000 | 1.000 | 0.864 | 1.000 | 0.182 | 0.725 | 0.400 | 1.000 | 0.700 | 1.000 |
Car10 | 0.180 | 0.000 | 0.667 | 0.333 | 0.667 | 0.854 | 0.000 | 0.000 | 0.169 | 1.000 | 0.267 | 0.444 |
Car11 | 0.180 | 0.000 | 0.667 | 0.133 | 0.558 | 0.618 | 1.000 | 0.000 | 0.143 | 1.000 | 0.167 | 0.444 |
Car12 | 0.180 | 0.038 | 0.183 | 0.000 | 0.538 | 0.394 | 0.000 | 0.000 | 0.000 | 0.750 | 0.000 | 0.444 |
Car13 | 0.270 | 0.038 | 0.183 | 0.000 | 0.538 | 0.394 | 0.000 | 0.000 | 0.000 | 0.750 | 0.000 | 0.444 |
Car14 | 0.180 | 0.000 | 0.277 | 0.073 | 0.700 | 0.970 | 0.040 | 0.000 | 0.337 | 1.000 | 0.190 | 0.444 |
Car15 | 0.180 | 0.238 | 0.307 | 0.000 | 0.600 | 0.680 | 0.000 | 0.020 | 0.243 | 1.000 | 0.107 | 0.444 |
Car16 | 0.520 | 0.238 | 1.000 | 0.993 | 0.600 | 0.680 | 0.000 | 0.170 | 0.243 | 1.000 | 0.107 | 0.444 |
Car17 | 1.000 | 0.990 | 1.000 | 1.000 | 0.990 | 1.000 | 0.422 | 0.670 | 0.391 | 1.000 | 1.000 | 0.444 |
Car18 | 0.180 | 0.238 | 0.307 | 0.000 | 0.700 | 0.875 | 0.010 | 0.080 | 0.251 | 1.000 | 0.503 | 0.444 |
Car19 | 0.520 | 0.238 | 1.000 | 1.000 | 0.700 | 0.875 | 0.010 | 0.230 | 0.266 | 1.000 | 0.503 | 0.444 |
Car20 | 0.180 | 0.238 | 0.307 | 0.000 | 0.600 | 0.695 | 0.000 | 0.000 | 0.257 | 1.000 | 0.050 | 0.444 |
Car21 | 0.520 | 0.238 | 1.000 | 1.000 | 0.600 | 0.695 | 0.000 | 0.000 | 0.280 | 1.000 | 0.050 | 0.444 |
Car22 | 0.225 | 0.000 | 0.183 | 0.000 | 0.655 | 0.895 | 0.000 | 0.119 | 0.211 | 0.500 | 0.167 | 0.000 |
Car23 | 1.000 | 1.000 | 1.000 | 0.760 | 0.873 | 1.000 | 0.168 | 0.940 | 0.129 | 1.000 | 0.667 | 0.556 |
Car24 | 0.420 | 0.000 | 0.000 | 0.000 | 0.495 | 0.345 | 0.000 | 0.000 | 0.229 | 1.000 | 0.000 | 0.000 |
Car25 | 0.250 | 0.050 | 0.333 | 0.000 | 0.700 | 0.990 | 0.000 | 0.000 | 0.143 | 0.700 | 0.450 | 0.000 |
Car26 | 0.585 | 0.100 | 1.000 | 0.567 | 0.700 | 0.990 | 0.000 | 0.140 | 0.100 | 1.000 | 0.450 | 0.444 |
Car27 | 0.180 | 0.000 | 0.667 | 0.247 | 0.538 | 0.560 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.444 |
Car28 | 0.180 | 0.000 | 0.667 | 0.160 | 0.561 | 0.651 | 0.000 | 0.015 | 0.049 | 1.000 | 0.033 | 0.444 |
Car29 | 0.180 | 0.000 | 0.667 | 0.267 | 0.540 | 0.555 | 0.000 | 0.000 | 0.180 | 1.000 | 0.037 | 0.444 |
Car30 | 0.180 | 0.000 | 0.667 | 0.133 | 0.605 | 0.800 | 0.000 | 0.030 | 0.234 | 1.000 | 0.447 | 0.444 |
Car31 | 1.000 | 0.850 | 1.000 | 0.713 | 0.900 | 1.000 | 0.332 | 0.880 | 0.971 | 1.000 | 0.627 | 1.000 |
Car32 | 1.000 | 0.875 | 1.000 | 1.000 | 0.900 | 1.000 | 0.332 | 0.880 | 0.743 | 1.000 | 0.627 | 1.000 |
Car33 | 1.000 | 1.000 | 1.000 | 1.000 | 0.900 | 1.000 | 0.332 | 0.880 | 0.500 | 1.000 | 0.490 | 1.000 |
Car34 | 1.000 | 1.000 | 1.000 | 0.747 | 0.900 | 1.000 | 0.332 | 0.870 | 0.500 | 1.000 | 0.490 | 1.000 |
Car35 | 0.040 | 0.000 | 0.733 | 0.633 | 0.588 | 0.585 | 0.000 | 0.000 | 0.071 | 0.250 | 0.127 | 0.000 |
Car36 | 0.175 | 0.000 | 0.733 | 0.633 | 0.588 | 0.585 | 0.000 | 0.000 | 0.246 | 0.500 | 0.127 | 0.000 |
Car37 | 0.000 | 0.000 | 0.227 | 0.000 | 0.422 | 0.097 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 |
Car38 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 |
Car39 | 0.000 | 0.000 | 0.000 | 0.000 | 0.494 | 0.000 | 0.000 | 0.000 | 0.129 | 0.000 | 0.000 | 0.000 |
Car40 | 0.925 | 0.375 | 0.800 | 0.867 | 0.875 | 1.000 | 0.260 | 0.017 | 0.094 | 1.000 | 0.417 | 1.000 |
Car41 | 1.000 | 0.525 | 1.000 | 1.000 | 0.875 | 1.000 | 0.260 | 0.300 | 0.094 | 1.000 | 0.417 | 1.000 |
Car42 | 1.000 | 0.848 | 1.000 | 1.000 | 0.875 | 1.000 | 0.260 | 0.300 | 0.094 | 1.000 | 0.417 | 1.000 |
Car43 | 1.000 | 1.000 | 1.000 | 1.000 | 0.960 | 1.000 | 0.328 | 0.300 | 0.111 | 1.000 | 1.000 | 1.000 |
Car44 | 1.000 | 1.000 | 1.000 | 1.000 | 0.960 | 1.000 | 0.328 | 0.300 | 0.111 | 1.000 | 1.000 | 1.000 |
Car45 | 1.000 | 1.000 | 1.000 | 1.000 | 0.965 | 1.000 | 0.540 | 0.875 | 0.303 | 1.000 | 1.000 | 1.000 |
Car46 | 1.000 | 1.000 | 1.000 | 1.000 | 0.965 | 1.000 | 0.540 | 0.875 | 0.303 | 1.000 | 1.000 | 1.000 |
Car47 | 0.000 | 0.000 | 0.077 | 0.000 | 0.417 | 0.100 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 |
Car48 | 0.520 | 0.025 | 0.933 | 0.833 | 0.770 | 0.761 | 0.018 | 0.270 | 0.400 | 1.000 | 0.283 | 0.444 |
Car49 | 0.520 | 0.025 | 1.000 | 1.000 | 0.770 | 0.761 | 0.018 | 0.280 | 0.034 | 1.000 | 0.283 | 0.722 |
Car50 | 0.520 | 0.025 | 1.000 | 1.000 | 0.771 | 1.000 | 0.104 | 0.660 | 0.746 | 1.000 | 0.810 | 0.722 |
Car51 | 0.180 | 0.000 | 0.667 | 0.000 | 1.000 | 1.000 | 0.240 | 0.810 | 1.000 | 0.000 | 1.000 | 0.444 |
Car52 | 0.520 | 0.155 | 1.000 | 0.373 | 1.000 | 1.000 | 0.256 | 1.000 | 1.000 | 1.000 | 1.000 | 0.556 |
Car53 | 0.045 | 0.000 | 0.333 | 0.000 | 0.725 | 1.000 | 0.000 | 0.250 | 0.737 | 0.000 | 1.000 | 0.000 |
Appendix B. The Algorithm in Python Code
#-- Import libraries import pandas as pd import numpy as np from pymcdm import weights as mcdm_weights from pymcdm import methods as mcdm_methods from pymcdm.helpers import rankdata |
# Matching algorithms def validate_int_float_t(df): n = 0 for c in df.columns: if df[c].dtype in ['int64']: n = n + 1 if n == 0: print('INT -> FLOAT transformation was succesfully performed!') def perform_int_float_t(df): rs = df.copy(deep = True) for c in df.columns: if df[c].dtype in ['int64']: rs[c] = df[c].astype(float) return rs def numeric_match(value, match, max, min): type = match[1] if type == 'slf': match = match[2:] If value in match: return 1 else: return 0 min_user = match[2] max_user = match[3] if min_user < min: min_user = min if max_user > max: max_user = max if type == 'max': if value <= min_user: return 1 if value >= max_user: return 0 return (max_user - value)/(max_user - min_user) if type == 'min': if value <= min_user: return 0 if value >= max_user: return 1 return -1 * (min_user - value)/(max_user - min_user) if type == 'rng': if value >= min_user and value <= max_user: return 1 else: return 0 def textual_match(value, match): type = match[1] if type == 'slf': match = match[2:] if value in match: return 1 else: return 0 def column_match(df, column, match): if df[column].dtype in ['float64']: try: max = df[column].max() min = df[column].min() df[column] = df[column].apply(numeric_match, match = match, max = max, min = min) except: print('-- {} falled in exception with value {}! --'.format(column, match)) elif df[column].dtype == 'object': try: df[column] = df[column].apply(textual_match, match = match) except: print('-- {} falled in exception with value {}! --'.format(column, match)) def match_columns(df, user_config): res = df.copy(deep = True) for c in res.columns: for k, v in user_config.items(): if c == k: column_match(res, k, v) return res def factors(df, user_config): a = [] for c in df.columns: for pk, pv in user_config.items(): if c == pk: a.append(pv[0]) return a |
# Weights schema setup weight_schemas = { 'EQUAL' : mcdm_weights.equal_weights(matrix) } |
# Ranking evaluation method = 'TOPSIS' rs_temp = matched_columns_dataframe.copy(deep = True) rank_methods = { 'TOPSIS': mcdm_methods.TOPSIS(), } profiles = { 'MATCHED': matched_columns_profile, } |
References
- Boglou, V.; Karavas, C.-S.; Arvanitis, K.; Karlis, A. A Fuzzy Energy Management Strategy for the Coordination of Electric Vehicle Charging in Low Voltage Distribution Grids. Energies 2020, 13, 3709. [Google Scholar] [CrossRef]
- Elmehdi, M.; Abdelilah, M. Genetic algorithm for optimal charge scheduling of electric vehicle fleet. In Proceedings of the 2nd International Conference on Networking, Information Systems & Security, Rabat, Morocco, 27–29 March 2019; pp. 1–7. [Google Scholar]
- Rokicki, T.; Bórawski, P.; Bełdycka-Bórawska, A.; Żak, A.; Koszela, G. Development of Electromobility in European Union Countries under COVID-19 Conditions. Energies 2021, 15, 9. [Google Scholar] [CrossRef]
- Gelmanova, Z.S.; Zhabalova, G.G.; Sivyakova, G.A.; Lelikova, O.N.; Onishchenko, O.N.; Smailova, A.A.; Kamarova, S.N. Electric cars. Advantages and disadvantages. J. Phys. Conf. Ser. 2018, 1015, 052029. [Google Scholar] [CrossRef]
- EV-Database, Electric Vehicle Database. Available online: https://ev-database.org/#sort:path~type~order=.rank~number~desc|range-slider-range:prev~next=0~1200|range-slider-acceleration:prev~next=2~23|range-slider-topspeed:prev~next=110~350|range-slider-battery:prev~next=10~200|range-slider-towweight:prev~next=0~2500|range-slider-fastcharge:prev~next=0~1500|paging:currentPage=0|paging:number=9 (accessed on 20 March 2023).
- Sobiech-Grabka, K.; Stankowska, A.; Jerzak, K. Determinants of Electric Cars Purchase Intention in Poland: Personal Attitudes v. Economic Arguments. Energies 2022, 15, 3078. [Google Scholar] [CrossRef]
- Zadeh, L.A. Fuzzy sets. Inf. Control 1965, 8, 338–353. [Google Scholar] [CrossRef]
- Yoon, K.; Hwang, C.L. Manufacturing plant location analysis by multiple attribute decision making: Part I—Single-plant strategy. Int. J. Prod. Res. 1985, 23, 345–359. [Google Scholar] [CrossRef]
- Tal, G.; Kurani, K.; Jenn, A.; Chakraborty, D.; Hardman, S.; Garas, D. Electric cars in California: Policy and behavior perspectives. In Who’s Driving Electric Cars: Understanding Consumer Adoption and Use of Plug-In Electric Cars; Springer Nature: Cham, Switzerland, 2020; pp. 11–25. [Google Scholar]
- Yamamura, C.L.K.; Takiya, H.; Machado, C.A.S.; Santana, J.C.C.; Quintanilha, J.A.; Berssaneti, F.T. Electric Cars in Brazil: An Analysis of Core Green Technologies and the Transition Process. Sustainability 2022, 14, 6064. [Google Scholar] [CrossRef]
- Razmjoo, A.; Ghazanfari, A.; Jahangiri, M.; Franklin, E.; Denai, M.; Marzband, M.; Garcia, D.A.; Maheri, A. A Comprehensive Study on the Expansion of Electric Vehicles in Europe. Appl. Sci. 2022, 12, 11656. [Google Scholar] [CrossRef]
- Deptuła, A.; Augustynowicz, A.; Stosiak, M.; Towarnicki, K.; Karpenko, M. The Concept of Using an Expert System and Multi-Valued Logic Trees to Assess the Energy Consumption of an Electric Car in Selected Driving Cycles. Energies 2022, 15, 4631. [Google Scholar] [CrossRef]
- Tsirogiannis, E.C.; Stavroulakis, G.E.; Makridis, S.S. Electric Car Chassis for Shell Eco Marathon Competition: Design, Modelling and Finite Element Analysis. World Electr. Veh. J. 2019, 10, 8. [Google Scholar] [CrossRef]
- Singh, V.; Singh, V.; Vaibhav, S. A review and simple meta-analysis of factors influencing adoption of electric vehicles. Transp. Res. Part D Transp. Environ. 2020, 86, 102436. [Google Scholar] [CrossRef]
- Shen, Z.-J.M.; Feng, B.; Mao, C.; Ran, L. Optimization models for electric vehicle service operations: A literature review. Transp. Res. Part B Methodol. 2019, 128, 462–477. [Google Scholar] [CrossRef]
- Sanguesa, J.A.; Torres-Sanz, V.; Garrido, P.; Martinez, F.J.; Marquez-Barja, J.M. A Review on Electric Vehicles: Technologies and Challenges. Smart Cities 2021, 4, 372–404. [Google Scholar] [CrossRef]
- Singh, V.; Singh, V.; Vaibhav, S. Analysis of electric vehicle trends, development and policies in India. Case Stud. Transp. Policy 2021, 9, 1180–1197. [Google Scholar] [CrossRef]
- Wu, Y.A.; Ng, A.W.; Yu, Z.; Huang, J.; Meng, K.; Dong, Z. A review of evolutionary policy incentives for sustainable development of electric vehicles in China: Strategic implications. Energy Policy 2021, 148, 111983. [Google Scholar] [CrossRef]
- Chen, T.; Zhang, X.-P.; Wang, J.; Li, J.; Wu, C.; Hu, M.; Bian, H. A Review on Electric Vehicle Charging Infrastructure Development in the UK. J. Mod. Power Syst. Clean Energy 2020, 8, 193–205. [Google Scholar] [CrossRef]
- Palit, T.; Bari, A.M.; Karmaker, C.L. An integrated Principal Component Analysis and Interpretive Structural Modeling approach for electric vehicle adoption decisions in sustainable transportation systems. Decis. Anal. J. 2022, 4, 100119. [Google Scholar] [CrossRef]
- Li, Z.; Khajepour, A.; Song, J. A comprehensive review of the key technologies for pure electric vehicles. Energy 2019, 182, 824–839. [Google Scholar] [CrossRef]
- Das, R.; Wang, Y.; Putrus, G.; Kotter, R.; Marzband, M.; Herteleer, B.; Warmerdam, J. Multi-objective techno-economic-environmental optimisation of electric vehicle for energy services. Appl. Energy 2020, 257, 113965. [Google Scholar] [CrossRef]
- Tran, M.-K.; Bhatti, A.; Vrolyk, R.; Wong, D.; Panchal, S.; Fowler, M.; Fraser, R. A Review of Range Extenders in Battery Electric Vehicles: Current Progress and Future Perspectives. World Electr. Veh. J. 2021, 12, 54. [Google Scholar] [CrossRef]
- Biswas, T.K.; Das, M.C. Selection of Commercially Available Electric Vehicle using Fuzzy AHP-MABAC. J. Inst. Eng. India Ser. C 2019, 100, 531–537. [Google Scholar] [CrossRef]
- Sonar, H.C.; Kulkarni, S.D. An Integrated AHP-MABAC Approach for Electric Vehicle Selection. Res. Transp. Bus. Manag. 2021, 41, 100665. [Google Scholar] [CrossRef]
- Więckowski, J.; Wątróbski, J.; Kizielewicz, B.; Sałabun, W. Complex sensitivity analysis in Multi-Criteria Decision Analysis: An application to the selection of an electric car. J. Clean. Prod. 2023, 390, 136051. [Google Scholar] [CrossRef]
- Ziemba, P. Multi-Criteria Stochastic Selection of Electric Vehicles for the Sustainable Development of Local Government and State Administration Units in Poland. Energies 2020, 13, 6299. [Google Scholar] [CrossRef]
- Rezaei, J. Best-worst multi-criteria decision-making method. Omega 2015, 53, 49–57. [Google Scholar] [CrossRef]
- Rezaei, J. Best-worst multi-criteria decision-making method: Some properties and a linear model. Omega 2016, 64, 126–130. [Google Scholar] [CrossRef]
- Wątróbski, J.; Jankowski, J.; Ziemba, P.; Karczmarczyk, A.; Zioło, M. Generalised framework for multi-criteria method selection. Omega 2019, 86, 107–124. [Google Scholar] [CrossRef]
- Behzadian, M.; Otaghsara, S.K.; Yazdani, M.; Ignatius, J. A state-of the-art survey of TOPSIS applications. Expert Syst. Appl. 2012, 39, 13051–13069. [Google Scholar] [CrossRef]
- Velasquez, M.; Hester, P.T. An Analysis of Multi-Criteria Decision-Making Methods. Int. J. Oper. Res. 2013, 10, 56–66. [Google Scholar]
- Hadad, Y.; Hanani, M.Z. Combining the AHP and DEA methodologies for selecting the best alternative. Int. J. Logist. Syst. Manag. 2011, 9, 251. [Google Scholar] [CrossRef]
- Salih, M.M.; Zaidan, B.; Zaidan, A.; Ahmed, M.A. Survey on fuzzy TOPSIS state-of-the-art between 2007 and 2017. Comput. Oper. Res. 2018, 104, 207–227. [Google Scholar] [CrossRef]
- Onat, N.C.; Gumus, S.; Kucukvar, M.; Tatari, O. Application of the TOPSIS and intuitionistic fuzzy set approaches for ranking the life cycle sustainability performance of alternative vehicle technologies. Sustain. Prod. Consum. 2016, 6, 12–25. [Google Scholar] [CrossRef]
- Chen, M.-F.; Tzeng, G.-H. Combining grey relation and TOPSIS concepts for selecting an expatriate host country. Math. Comput. Model. 2004, 40, 1473–1490. [Google Scholar] [CrossRef]
- Doukas, H.; Karakosta, C.; Psarras, J. Computing with words to assess the sustainability of renewable energy options. Expert Syst. Appl. 2010, 37, 5491–5497. [Google Scholar] [CrossRef]
- Wang, E. Benchmarking whole-building energy performance with multi-criteria technique for order preference by similarity to ideal solution using a selective objective-weighting approach. Appl. Energy 2015, 146, 92–103. [Google Scholar] [CrossRef]
- Samaie, F.; Meyar-Naimi, H.; Javadi, S.; Feshki-Farahani, H. Comparison of sustainability models in development of electric vehicles in Tehran using fuzzy TOPSIS method. Sustain. Cities Soc. 2020, 53, 101912. [Google Scholar] [CrossRef]
- Kahraman, C.; Öztaysi, B.; Onar, S.C. A Comprehensive Literature Review of 50 Years of Fuzzy Set Theory. Int. J. Comput. Intell. Syst. 2016, 9, 3–24. [Google Scholar] [CrossRef]
- Medasani, S.; Kim, J.; Krishnapuram, R. An overview of membership function generation techniques for pattern recognition. Int. J. Approx. Reason. 1998, 19, 391–417. [Google Scholar] [CrossRef]
- Norwich, A.; Turksen, I. A model for the measurement of membership and the consequences of its empirical implementation. Fuzzy Sets Syst. 1984, 12, 1–25. [Google Scholar] [CrossRef]
- Hadasik, B.; Kubiczek, J. Dataset of Electric Passenger Cars with Their Specifications, Mendeley Data. 2021. Available online: https://data.mendeley.com/datasets/tb9yrptydn/2 (accessed on 3 April 2023).
- Aires, R.F.D.F.; Ferreira, L. The rank reversal problem in multi-criteria decision making: A literature review. Pesqui. Oper. 2018, 38, 331–362. [Google Scholar] [CrossRef]
No. | Symbol | Criterion | Type |
---|---|---|---|
1 | Minimal price (gross) [PLN] | Inputs | |
2 | Acceleration 0–100 kph [s] | ||
3 | Mean—Energy consumption [kWh/100 km] | ||
4 | Engine power [KM] | Outputs | |
5 | Maximum torque [Nm] | ||
6 | Battery capacity [kWh] | ||
7 | Range (WLTP) [km] | ||
8 | Wheelbase [cm] | ||
9 | Length [cm] | ||
10 | Width [cm] | ||
11 | Permissible gross weight [kg] | ||
12 | Maximum load capacity [kg] | ||
13 | Maximum speed [kph] | ||
14 | Boot capacity (VDA) [l] | ||
15 | Maximum DC charging power [kW] | ||
16 | Type of brakes | Personal preference | |
17 | Drive type | ||
18 | Height [cm] | ||
19 | Minimal empty weight [kg] | ||
20 | Number of seats | ||
21 | Number of doors | ||
22 | Tire size [in] |
No. | Criteria- | Min | Max | |||
---|---|---|---|---|---|---|
1 | Minimal price (gross) [PLN] | 82,050 | 794,000 | 120,000 | 300,000 | 1 |
2 | Acceleration 0–100 kph [s] | 2.5 | 14 | 5 | 10 | 0.75 |
3 | Mean—Energy consumption [kWh/100 km] | 13.1 | 33 | 15 | 25 | 0.5 |
4 | Engine power [KM] | 82 | 772 | 100 | 300 | 0 |
5 | Maximum torque [Nm] | 160 | 1140 | 300 | 700 | 0 |
6 | Battery capacity [kWh] | 17.6 | 100 | 30 | 60 | 1 |
7 | Range (WLTP) [km] | 148 | 652 | 300 | 450 | 1 |
8 | Wheelbase [cm] | 187.3 | 327.5 | 200 | 300 | 0.5 |
9 | Length [cm] | 269.5 | 514 | 350 | 450 | 0.5 |
10 | Width [cm] | 164.5 | 255.8 | 180 | 230 | 0.5 |
11 | Permissible gross weight [kg] | 1310 | 3500 | 2000 | 3000 | 0.75 |
12 | Maximum load capacity [kg] | 290 | 1056 | 400 | 750 | 0.5 |
13 | Maximum speed [kph] | 123 | 261 | 130 | 150 | 0.5 |
14 | Boot capacity (VDA) [l] | 171 | 900 | 300 | 600 | 1 |
15 | Maximum DC charging power [kW] | 22 | 270 | 60 | 150 | 1 |
16 | Type of brakes | - | - | disc (front + rear) | ||
17 | Drive type | - | - | 2WD (front); 2WD (rear) | ||
18 | Height [cm] | 137.8 | 191 | 150 | 170 | 1 |
19 | Minimal empty weight [kg] | 1035 | 2710 | 1500 | 2000 | 0.5 |
20 | Number of seats | 2 | 8 | 4 | 5 | 0.75 |
21 | Number of doors | 3 | 5 | 4 | 5 | 0.25 |
22 | Tire size [in] | 14 | 21 | 16 | 17 | 0.5 |
EV | Car Full Name | Make | Score | Rank | Non-Compliance |
---|---|---|---|---|---|
Car1 | Audi e-tron 55 quattro | Audi | 0.6330 | 7 | 4 |
Car2 | Audi e-tron 50 quattro | Audi | 0.5963 | 18 | 4 |
Car3 | Audi e-tron S quattro | Audi | 0.6028 | 14 | 5 |
Car4 | Audi e-tron Sportback 50 quattro | Audi | 0.5959 | 19 | 4 |
Car5 | Audi e-tron Sportback 55 quattro | Audi | 0.6399 | 5 | 4 |
Car6 | Audi e-tron Sportback S quattro | Audi | 0.6046 | 13 | 5 |
Car7 | BMW i3 | BMW | 0.5136 | 44 | 7 |
Car8 | BMW i3s | BMW | 0.5136 | 43 | 7 |
Car9 | BMW iX3 | BMW | 0.6140 | 10 | 2 |
Car10 | Citroën ë-C4 | Citroën | 0.6013 | 15 | 3 |
Car11 | DS DS3 Crossback e-tense | DS | 0.5933 | 22 | 2 |
Car12 | Honda e | Honda | 0.5183 | 42 | 5 |
Car13 | Honda e Advance | Honda | 0.5212 | 41 | 5 |
Car14 | Hyundai Ioniq electric | Hyundai | 0.5289 | 40 | 3 |
Car15 | Hyundai Kona electric 39.2 kWh | Hyundai | 0.5566 | 36 | 2 |
Car16 | Hyundai Kona electric 64 kWh | Hyundai | 0.6784 | 2 | 1 |
Car17 | Jaguar I-Pace | Jaguar | 0.6269 | 9 | 4 |
Car18 | Kia e-Niro 39.2 kWh | Kia | 0.5682 | 33 | 1 |
Car19 | Kia e-Niro 64 kWh | Kia | 0.6974 | 1 | 0 |
Car20 | Kia e-Soul 39.2 kWh | Kia | 0.5579 | 35 | 3 |
Car21 | Kia e-Soul 64 kWh | Kia | 0.6782 | 3 | 2 |
Car22 | Mazda MX-30 | Mazda | 0.4784 | 47 | 5 |
Car23 | Mercedes-Benz EQC | Mercedes-Benz | 0.5948 | 21 | 4 |
Car24 | Mini Cooper SE | Mini | 0.4610 | 48 | 10 |
Car25 | Nissan Leaf | Nissan | 0.5616 | 34 | 4 |
Car26 | Nissan Leaf e+ | Nissan | 0.6626 | 4 | 1 |
Car27 | Opel Corsa-e | Opel | 0.5535 | 38 | 6 |
Car28 | Opel Mokka-e | Opel | 0.5737 | 30 | 2 |
Car29 | Peugeot e-208 | Peugeot | 0.5544 | 37 | 5 |
Car30 | Peugeot e-2008 | Peugeot | 0.5981 | 17 | 2 |
Car31 | Porsche Taycan 4S (Performance) | Porsche | 0.6053 | 12 | 5 |
Car32 | Porsche Taycan 4S (Performance Plus) | Porsche | 0.6065 | 11 | 5 |
Car33 | Porsche Taycan Turbo | Porsche | 0.5933 | 23 | 5 |
Car34 | Porsche Taycan Turbo S | Porsche | 0.5833 | 28 | 6 |
Car35 | Renault Zoe R110 | Renault | 0.5049 | 45 | 6 |
Car36 | Renault Zoe R135 | Renault | 0.5909 | 24 | 4 |
Car37 | Skoda Citigo-e iV | Skoda | 0.3937 | 51 | 14 |
Car38 | Smart fortwo EQ | Smart | 0.2955 | 53 | 18 |
Car39 | Smart forfour EQ | Smart | 0.4155 | 50 | 14 |
Car40 | Tesla Model 3 Standard Range Plus | Tesla | 0.5854 | 27 | 2 |
Car41 | Tesla Model 3 Long Range | Tesla | 0.5954 | 20 | 3 |
Car42 | Tesla Model 3 Performance | Tesla | 0.5891 | 25 | 3 |
Car43 | Tesla Model S Long Range Plus | Tesla | 0.5857 | 26 | 4 |
Car44 | Tesla Model S Performance | Tesla | 0.5826 | 29 | 5 |
Car45 | Tesla Model X Long Range Plus | Tesla | 0.5697 | 31 | 6 |
Car46 | Tesla Model X Performance | Tesla | 0.5697 | 31 | 6 |
Car47 | Volkswagen e-up! | Volkswagen | 0.3891 | 52 | 14 |
Car48 | Volkswagen ID.3 Pro Performance | Volkswagen | 0.6286 | 8 | 2 |
Car49 | Volkswagen ID.3 Pro S | Volkswagen | 0.6005 | 16 | 2 |
Car50 | Volkswagen ID.4 1st | Volkswagen | 0.6356 | 6 | 3 |
Car51 | Citroën ë-Spacetourer (M) | Citroën | 0.4834 | 46 | 7 |
Car52 | Mercedes-Benz EQV (long) | Mercedes-Benz | 0.5433 | 39 | 7 |
Car53 | Nissan e-NV200 evalia | Nissan | 0.4494 | 49 | 9 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Hadad, Y.; Keren, B.; Alberg, D. An Expert System for Ranking and Matching Electric Vehicles to Customer Specifications and Requirements. Energies 2023, 16, 4283. https://doi.org/10.3390/en16114283
Hadad Y, Keren B, Alberg D. An Expert System for Ranking and Matching Electric Vehicles to Customer Specifications and Requirements. Energies. 2023; 16(11):4283. https://doi.org/10.3390/en16114283
Chicago/Turabian StyleHadad, Yossi, Baruch Keren, and Dima Alberg. 2023. "An Expert System for Ranking and Matching Electric Vehicles to Customer Specifications and Requirements" Energies 16, no. 11: 4283. https://doi.org/10.3390/en16114283
APA StyleHadad, Y., Keren, B., & Alberg, D. (2023). An Expert System for Ranking and Matching Electric Vehicles to Customer Specifications and Requirements. Energies, 16(11), 4283. https://doi.org/10.3390/en16114283