当前位置: 首页>>代码示例>>Java>>正文


Java MathUtil类代码示例

本文整理汇总了Java中org.cloudbus.cloudsim.util.MathUtil的典型用法代码示例。如果您正苦于以下问题:Java MathUtil类的具体用法?Java MathUtil怎么用?Java MathUtil使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


MathUtil类属于org.cloudbus.cloudsim.util包,在下文中一共展示了MathUtil类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getUtilizationMad

import org.cloudbus.cloudsim.util.MathUtil; //导入依赖的package包/类
/**
 * Gets the utilization MAD in MIPS.
 * 
 * @return the utilization mean in MIPS
 */
public double getUtilizationMad() {
	double mad = 0;
	if (!getUtilizationHistory().isEmpty()) {
		int n = HISTORY_LENGTH;
		if (HISTORY_LENGTH > getUtilizationHistory().size()) {
			n = getUtilizationHistory().size();
		}
		double median = MathUtil.median(getUtilizationHistory());
		double[] deviationSum = new double[n];
		for (int i = 0; i < n; i++) {
			deviationSum[i] = Math.abs(median - getUtilizationHistory().get(i));
		}
		mad = MathUtil.median(deviationSum);
	}
	return mad;
}
 
开发者ID:gmartinezramirez,项目名称:Fog-Computing-Mobile-Architecture,代码行数:22,代码来源:PowerVm.java

示例2: getCorrelationCoefficients

import org.cloudbus.cloudsim.util.MathUtil; //导入依赖的package包/类
/**
 * Gets the correlation coefficients.
 * 
 * @param data the data
 * @return the correlation coefficients
 */
protected List<Double> getCorrelationCoefficients(final double[][] data) {
	int n = data.length;
	int m = data[0].length;
	List<Double> correlationCoefficients = new LinkedList<Double>();
	for (int i = 0; i < n; i++) {
		double[][] x = new double[n - 1][m];
		int k = 0;
		for (int j = 0; j < n; j++) {
			if (j != i) {
				x[k++] = data[j];
			}
		}

		// Transpose the matrix so that it fits the linear model
		double[][] xT = new Array2DRowRealMatrix(x).transpose().getData();

		// RSquare is the "coefficient of determination"
		correlationCoefficients.add(MathUtil.createLinearRegression(xT,
				data[i]).calculateRSquared());
	}
	return correlationCoefficients;
}
 
开发者ID:gmartinezramirez,项目名称:Fog-Computing-Mobile-Architecture,代码行数:29,代码来源:PowerVmSelectionPolicyMaximumCorrelation.java

示例3: getCorrelationCoefficients

import org.cloudbus.cloudsim.util.MathUtil; //导入依赖的package包/类
/**
 * 计算相关系数 Gets the correlation coefficients.
 * 
 * @param data the data
 * @return the correlation coefficients
 */
protected List<Double> getCorrelationCoefficients(final double[][] data) {
	int n = data.length;
	int m = data[0].length;
	List<Double> correlationCoefficients = new LinkedList<Double>();
	for (int i = 0; i < n; i++) {
		double[][] x = new double[n - 1][m];
		int k = 0;
		for (int j = 0; j < n; j++) {
			if (j != i) {
				x[k++] = data[j];
			}
		}

		// Transpose the matrix so that it fits the linear model
		double[][] xT = new Array2DRowRealMatrix(x).transpose().getData();

		// RSquare is the "coefficient of determination"
		correlationCoefficients.add(MathUtil.createLinearRegression(xT,
				data[i]).calculateRSquared());
	}
	return correlationCoefficients;
}
 
开发者ID:demiaowu,项目名称:annotation-of-cloudsim3.0.3,代码行数:29,代码来源:PowerVmSelectionPolicyMaximumCorrelation.java

示例4: getUtilizationMad

import org.cloudbus.cloudsim.util.MathUtil; //导入依赖的package包/类
/**
 * Gets the utilization MAD in MIPS.
 * 
 * @return the utilization mean in MIPS
 */
public double getUtilizationMad() {
	double mad = 0;
	if (!getUtilizationHistory().isEmpty()) {
		int n = HISTORY_LENGTH;
		if (HISTORY_LENGTH > getUtilizationHistory().size()) {
			n = getUtilizationHistory().size();
		}
		double median = MathUtil.median(getUtilizationHistory());
		double[] deviationSum = new double[n];
		for (int i = 0; i < n; i++) {
			deviationSum[i] = Math.abs(median - getUtilizationHistory().get(i));
		}
		mad = Stat.median(deviationSum);
	}
	return mad;
}
 
开发者ID:marcbux,项目名称:dynamiccloudsim,代码行数:22,代码来源:PowerVm.java

示例5: getSlaMetrics

import org.cloudbus.cloudsim.util.MathUtil; //导入依赖的package包/类
/**
 * Gets a map of SLA metric names and the corresponding values from a list of VMs,.
 *
 * @param vms the vms
 * @return the sla metrics map, compounded of metric names and their values.
 */
protected Map<String, Double> getSlaMetrics(List<Vm> vms) {
    final Map<String, Double> metrics = new HashMap<>(3);
    final List<Double> slaViolation = new LinkedList<>();
    double totalAllocatedMips = 0;
    double totalRequestedMips = 0;
    double totalUnderAllocatedMipsDueToMigration = 0;

    for (Vm vm : vms) {
        VmSlaMetrics sla = new VmSlaMetrics(vm);
        slaViolation.addAll(sla.slaViolation);
        totalAllocatedMips += sla.totalAllocatedMips;
        totalRequestedMips += sla.totalRequestedMips;
        totalUnderAllocatedMipsDueToMigration += sla.underAllocatedMipsDueToMigration;
    }

    metrics.put(SLA_METRIC_OVERALL_PERCENT, (totalRequestedMips - totalAllocatedMips) / totalRequestedMips);
    metrics.put(SLA_METRIC_AVERAGE_PERCENT, slaViolation.isEmpty() ? 0.0 : MathUtil.mean(slaViolation));
    metrics.put(SLA_METRIC_UNDERALLOCATED_MIGRATION, totalUnderAllocatedMipsDueToMigration / totalRequestedMips);

    return metrics;
}
 
开发者ID:manoelcampos,项目名称:cloudsim-plus,代码行数:28,代码来源:Helper.java

示例6: getResourceAmountToScale

import org.cloudbus.cloudsim.util.MathUtil; //导入依赖的package包/类
@Override
public double getResourceAmountToScale(final VerticalVmScaling vmScaling) {
    final Function<Vm, Double> thresholdFunction = vmScaling.getResourceUsageThresholdFunction();
    /* Computes the size to which the resource has to be scaled to move it from the
    * under or overload state.*/
    final double newResourceSize =
        Math.ceil(vmScaling.getResource().getAllocatedResource() *
            MathUtil.HUNDRED_PERCENT / thresholdFunction.apply(vmScaling.getVm()));

    /*Includes and additional resource amount for safety, according to the scaling factor.
    * This way, if the resource usage increases again up to this extra amount,
    * there is no need to re-scale the resource.
    * If the scale factor is zero, no extra safety amount is included.*/
    final double extraSafetyCapacity = gradual.getResourceAmountToScale(vmScaling);
    return newResourceSize + extraSafetyCapacity;
}
 
开发者ID:manoelcampos,项目名称:cloudsim-plus,代码行数:17,代码来源:ResourceScalingInstantaneous.java

示例7: getCorrelationCoefficients

import org.cloudbus.cloudsim.util.MathUtil; //导入依赖的package包/类
/**
 * Gets the correlation coefficients.
 *
 * @param data the data
 * @return the correlation coefficients
 */
protected List<Double> getCorrelationCoefficients(final double[][] data) {
    final int n = data.length;
    final int m = data[0].length;
    final List<Double> correlationCoefficients = new LinkedList<>();
    for (int i = 0; i < n; i++) {
        final double[][] x = new double[n - 1][m];
        int k = 0;
        for (int j = 0; j < n; j++) {
            if (j != i) {
                x[k++] = data[j];
            }
        }

        // Transpose the matrix so that it fits the linear model
        final double[][] xT = new Array2DRowRealMatrix(x).transpose().getData();

        // RSquare is the "coefficient of determination"
        correlationCoefficients.add(
            MathUtil.createLinearRegression(xT, data[i]).calculateRSquared());
    }
    return correlationCoefficients;
}
 
开发者ID:manoelcampos,项目名称:cloudsim-plus,代码行数:29,代码来源:PowerVmSelectionPolicyMaximumCorrelation.java

示例8: getHostUtilizationIqr

import org.cloudbus.cloudsim.util.MathUtil; //导入依赖的package包/类
/**
 * Gets the host utilization iqr.
 * 
 * @param host the host
 * @return the host utilization iqr
 */
protected double getHostUtilizationIqr(PowerHostUtilizationHistory host) throws IllegalArgumentException {
	double[] data = host.getUtilizationHistory();
	if (MathUtil.countNonZeroBeginning(data) >= 12) { // 12 has been suggested as a safe value
		return MathUtil.iqr(data);
	}
	throw new IllegalArgumentException();
}
 
开发者ID:gmartinezramirez,项目名称:Fog-Computing-Mobile-Architecture,代码行数:14,代码来源:PowerVmAllocationPolicyMigrationInterQuartileRange.java

示例9: getUtilizationHistory

import org.cloudbus.cloudsim.util.MathUtil; //导入依赖的package包/类
/**
 * Gets the host utilization history.
 * 
 * @return the host utilization history
 */
protected double[] getUtilizationHistory() {
	double[] utilizationHistory = new double[PowerVm.HISTORY_LENGTH];
	double hostMips = getTotalMips();
	for (PowerVm vm : this.<PowerVm> getVmList()) {
		for (int i = 0; i < vm.getUtilizationHistory().size(); i++) {
			utilizationHistory[i] += vm.getUtilizationHistory().get(i) * vm.getMips() / hostMips;
		}
	}
	return MathUtil.trimZeroTail(utilizationHistory);
}
 
开发者ID:gmartinezramirez,项目名称:Fog-Computing-Mobile-Architecture,代码行数:16,代码来源:PowerHostUtilizationHistory.java

示例10: getHostUtilizationMad

import org.cloudbus.cloudsim.util.MathUtil; //导入依赖的package包/类
/**
 * Gets the host utilization mad.
 * 
 * @param host the host
 * @return the host utilization mad
 */
protected double getHostUtilizationMad(PowerHostUtilizationHistory host) throws IllegalArgumentException {
	double[] data = host.getUtilizationHistory();
	if (MathUtil.countNonZeroBeginning(data) >= 12) { // 12 has been suggested as a safe value
		return MathUtil.mad(data);
	}
	throw new IllegalArgumentException();
}
 
开发者ID:gmartinezramirez,项目名称:Fog-Computing-Mobile-Architecture,代码行数:14,代码来源:PowerVmAllocationPolicyMigrationMedianAbsoluteDeviation.java

示例11: getHostUtilizationMad

import org.cloudbus.cloudsim.util.MathUtil; //导入依赖的package包/类
/**
 * 计算出使用率的中位数绝对离差 Gets the host utilization mad.
 * 
 * @param host the host
 * @return the host utilization mad
 */
protected double getHostUtilizationMad(PowerHostUtilizationHistory host) throws IllegalArgumentException {
	double[] data = host.getUtilizationHistory();
	if (MathUtil.countNonZeroBeginning(data) >= 12) { // 12 has been suggested as a safe value
		return MathUtil.mad(data);
	}
	throw new IllegalArgumentException();
}
 
开发者ID:demiaowu,项目名称:annotation-of-cloudsim3.0.3,代码行数:14,代码来源:PowerVmAllocationPolicyMigrationMedianAbsoluteDeviation.java

示例12: computeHostUtilizationMeasure

import org.cloudbus.cloudsim.util.MathUtil; //导入依赖的package包/类
/**
 * Computes the host utilization IRQ used for generating the host over utilization threshold.
 *
 * @param host the host
 * @return the host CPU utilization percentage IQR
 */
@Override
public double computeHostUtilizationMeasure(PowerHostUtilizationHistory host) throws IllegalArgumentException {
    final double[] data = host.getUtilizationHistory();
    if (MathUtil.countNonZeroBeginning(data) >= MIN_NUM_OF_HISTORY_ENTRIES_TO_COMPUTE_IRQ) {
        return MathUtil.iqr(data);
    }

    throw new IllegalArgumentException("There is not enough Host history to compute Host utilization IRQ");
}
 
开发者ID:manoelcampos,项目名称:cloudsim-plus,代码行数:16,代码来源:PowerVmAllocationPolicyMigrationInterQuartileRange.java

示例13: computeHostUtilizationMeasure

import org.cloudbus.cloudsim.util.MathUtil; //导入依赖的package包/类
/**
 * Computes the host utilization MAD used for generating the host over utilization threshold.
 *
 * @param host the host
 * @return the host utilization MAD
 * @throws {@inheritDoc}
 */
@Override
public double computeHostUtilizationMeasure(PowerHostUtilizationHistory host) throws IllegalArgumentException {
    final double[] data = host.getUtilizationHistory();
    if (MathUtil.countNonZeroBeginning(data) >= MIN_NUM_OF_HISTORY_ENTRIES_TO_COMPUTE_MAD) {
        return MathUtil.mad(data);
    }

    throw new IllegalArgumentException("There is not enough Host history to compute Host utilization MAD");
}
 
开发者ID:manoelcampos,项目名称:cloudsim-plus,代码行数:17,代码来源:PowerVmAllocationPolicyMigrationMedianAbsoluteDeviation.java

示例14: getUtilizationHistory

import org.cloudbus.cloudsim.util.MathUtil; //导入依赖的package包/类
/**
* Gets the host CPU utilization percentage history (between [0 and 1], where 1 is 100%).
   * Each value into the returned array is the CPU utilization percentage for
   * a time interval equal to the {@link Datacenter#getSchedulingInterval()}.
   * @return
*/
  public double[] getUtilizationHistory() {
      final double[] utilizationHistory = new double[PowerVm.MAX_HISTORY_ENTRIES];
      final double totalMipsCapacity = getTotalMipsCapacity();
      for (final PowerVm vm : this.<PowerVm>getVmCreatedList()) {
          for (int i = 0; i < vm.getUtilizationHistory().size(); i++) {
              utilizationHistory[i] += vm.getUtilizationHistory().get(i) * vm.getTotalMipsCapacity() / totalMipsCapacity;
          }
      }
      return MathUtil.trimZeroTail(utilizationHistory);
  }
 
开发者ID:manoelcampos,项目名称:cloudsim-plus,代码行数:17,代码来源:PowerHostUtilizationHistory.java

示例15: getUtilizationMad

import org.cloudbus.cloudsim.util.MathUtil; //导入依赖的package包/类
/**
 * Gets the utilization Median Absolute Deviation (MAD) in MIPS.
 * @return
 */
public double getUtilizationMad() {
    if (!getUtilizationHistory().isEmpty()) {
        int n = Math.min(MAX_HISTORY_ENTRIES, getUtilizationHistory().size());
        double median = MathUtil.median(getUtilizationHistory());
        double[] deviationSum = new double[n];
        for (int i = 0; i < n; i++) {
            deviationSum[i] = Math.abs(median - getUtilizationHistory().get(i));
        }
        return MathUtil.median(deviationSum);
    }

    return 0;
}
 
开发者ID:manoelcampos,项目名称:cloudsim-plus,代码行数:18,代码来源:PowerVm.java


注:本文中的org.cloudbus.cloudsim.util.MathUtil类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。