承接 kematjaya/fuzzy-tsukamoto 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

kematjaya/fuzzy-tsukamoto

Composer 安装命令:

composer require kematjaya/fuzzy-tsukamoto

包简介

README 文档

README

  1. installation
composer require kematjaya/fuzzy-tsukamoto
  1. create curve
...
use Kematjaya\FuzzyTsukamoto\Curve\DownCurve;
use Kematjaya\FuzzyTsukamoto\Curve\UpCurve;
use Kematjaya\FuzzyTsukamoto\Curve\TriagleCurve;
use Kematjaya\FuzzyTsukamoto\CurveBuilder;
...
...
$value = 3000000; // value will be test
$kurvaGaji = (new CurveBuilder())
        ->addCurve('sedikit', (new DownCurve($value))->setMin(2000000)->setMax(4000000))
        ->addCurve('banyak', (new UpCurve($value))->setMin(3000000)->setMax(5000000));


$value = 4; // example in year
$kurvaMasaKerja = (new CurveBuilder())
        ->addCurve('baru', (new DownCurve($value))->setMin(2)->setMax(5))
        ->addCurve('sedang', (new TriagleCurve($value))->setMedium(5)->setMin(3)->setMax(7))
        ->addCurve('lama', (new UpCurve($value))->setMin(5)->setMax(8));

$kurvaBonus = (new CurveBuilder()) // output curve
    ->addCurve('sedikit', (new DownCurve())->setMin(300000)->setMax(600000))
    ->addCurve('banyak', (new UpCurve())->setMin(300000)->setMax(600000));
  1. ADD curve to Tsukamoto object
use Kematjaya\FuzzyTsukamoto\CurveBuilder;
use Kematjaya\FuzzyTsukamoto\FuzzyTsukamoto;
...
...
$tsukamoto = new FuzzyTsukamoto();
$tsukamoto->addDecisionCurve('gaji', $kurvaGaji)
        ->addDecisionCurve('kerja', $kurvaKerja)
        ->setOutputCurve($kurvaBonus);
  1. Create Rules and process
...
use Kematjaya\FuzzyTsukamoto\RuleBuilder;

...

$ruleBuilder = new RuleBuilder();
$ruleBuilder->startWhen(1)
        ->andWhen('kerja', 'baru')
        ->andWhen("gaji", 'sedikit')
        ->then('sedikit');

$ruleBuilder->startWhen(2)
        ->andWhen('kerja', 'baru')
        ->andWhen("gaji", 'banyak')
        ->then('sedikit');

$ruleBuilder->startWhen(3)
        ->andWhen('kerja', 'sedang')
        ->andWhen("gaji", 'sedikit')
        ->then('sedikit');

$ruleBuilder->startWhen(4)
        ->andWhen('kerja', 'sedang')
        ->andWhen("gaji", 'banyak')
        ->then('banyak');

$ruleBuilder->startWhen(5)
        ->andWhen('kerja', 'lama')
        ->andWhen("gaji", 'sedikit')
        ->then('banyak');

$ruleBuilder->startWhen(6)
        ->andWhen('kerja', 'lama')
        ->andWhen("gaji", 'banyak')
        ->then('banyak');

$result = $tsukamoto->calculated($ruleBuilder);
  1. Get result
$tsukamoto->calculated($ruleBuilder);
$tsukamoto->getOutput();// return float

Reference: https://www.academia.edu/9877842/Perhitungan_Bonus_Karyawan_dengan_Metode_Fuzzy_Tsukamoto_Berbasis_Android

统计信息

  • 总下载量: 33
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 7
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 7
  • Watchers: 1
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-01-03

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固