## 2 Materials and Methods
### Outline of Computational Approach  
The optimization process was designed to maximize the number of vehicles placed within the available parking space while ensuring an optimal arrangement. The optimization framework was derived from the study by [PERSON], [PERSON], and [PERSON] [31] and extended with new heuristic methods, additional vehicle types (the Citroen Ami and Volkswagen Crafter), and vertical parking configurations. These modifications allow for a more comprehensive evaluation of vehicle placement strategies, particularly in unmarked parking areas.  
The optimization experiments were conducted using a laptop equipped with a 13 th Gen Intel(R) Core(TM) i9-13900 HX, 2.20 GHz processor, 64 GB DDR5 RAM, and the Windows 11 operating system, utilizing Python 3.12 as the primary programming language.  
The fundamental principle of the optimization methods is to achieve the best solution by minimizing or maximizing a predefined objective (cost) function. In this study, the optimization process is based on the approach developed by [PERSON], [PERSON], and [PERSON] [31] for vehicle placement in unmarked parking areas. This approach consists of three key components:  
Decision Variables: These define the position of potential parking spaces (\(x,y\) coordinates) and the rotation angle (\(\beta\)) of vehicles. The optimization process iteratively adjusts these variables to maximize vehicle capacity. The optimization algorithm determines the best configuration for \(M\) parking spaces, forming a solution space of size \(M\times 3\)[31].  
Constraints: To ensure realistic parking arrangements, the following constraints from [31] are imposed:  
* Vehicles must be positioned within the parking area boundaries.
* Newly placed vehicles must not overlap with existing occupied spaces.
* Overlapping between newly placed vehicles must be avoided.  
These constraints are enforced through geometric analysis, in-out checks, and vector-based intersection calculations.  
Cost Function (Objective Function): This function plays a critical role in evaluating the quality of the parking arrangement and penalizing improper placements. The cost function is adapted directly from [PERSON], [PERSON], and [PERSON] [31] and is defined as follows:  
\[C=\sum_{i=1}^{M}[P_{out}\cdot I_{out,i}]+\sum_{i=1}^{M}\bigl{[}P_{occupied}\cdot OP_{occupied,i}\bigr{]}+\sum_{i=1}^{M}\sum_{j=1}^{i-1}\bigl{[}P_{new} \cdot OP_{new,ij}\bigr{]} \tag{1}\]  
where [31]:  
* \(M\) is the number of vehicles.
* \(P_{\text{out}}\) represents the penalty for vehicles positioned outside the parking area (penalty cost = 5000).
* \(I_{\text{out},i}\) is an indicator function that equals 1 if the \(i\)-th vehicle is outside the parking area, and 0 otherwise.  
\(P_{\text{occupied}}\) is the penalty per percentage of overlap with an already occupied space (penalty cost = 300).
* \(\text{OP}_{\text{occupied},i}\) is the percentage overlap of the \(i\)-th vehicle with an occupied area.
* \(P_{\text{new}}\) is the penalty per percentage of overlap with another new vehicle (penalty cost = 300).
* \(\text{OP}_{\text{new},ij}\) is the percentage overlap between the \(i\)-th and \(j\)-th vehicles [31].  
In the optimization process, each solution is represented as a row vector. These row vectors are constructed based on the number of vehicles \(M\) and the number of decision variables \(d\) computed for each vehicle. Each solution vector \(S_{i}(i=1