গণিতে, কম্পিউটার বিজ্ঞানে এবং অর্থশাস্ত্রেকাম্যতমকরণ (optimization) বা গাণিতিক প্রোগ্রামিং (mathematical programming) বলতে একটি সেটে বিদ্যমান অনেকগুলো বিকল্প থেকে কাম্যতম বা সর্বোচ্চ সন্তুষ্টিবিধায়ক বিকল্পটি বেছে নেয়াকে বোঝায়।
সাধারণত এটি দিয়ে এমন সব সমস্যা নিয়ে গবেষণা বোঝায়, যেখানে একটি নির্দিষ্ট সেট থেকে কোন বাস্তব বা পূর্ণসংখ্যা চলকের মান প্রণালীবদ্ধভাবে পছন্দ করার মাধ্যমে কোন বাস্তব ফাংশনের সর্বোচ্চ বা সর্বনিম্ন মান বের করার চেষ্টা করা হয়।
ইতিহাস
কাম্যতমকরণের প্রথম কৌশল হল গাউসের ঢালুতম-অবতরণ পদ্ধতি। ঐতিহাসিকভাবে কাম্যতমকরণের গবেষণার অনেকটাই রৈখিক বিশ্লেষণ তথা রৈখিক প্রোগ্রামিংয়ের (linear programming) গবেষণার সাথে জড়িত ছিল। ১৯৪৭-এ জর্জ ডানৎসিখের সিম্প্লেক্স অ্যালগরিদম রৈখিক প্রোগ্রামিং গবেষণার একটি মাইলফলক ধরা হয়।
নিচে কাম্যতমকরণ গবেষণার গুরুত্বপূর্ণ গণিতবিদদের একটি নির্বাচিত তালিকা দেয়া হল:
প্রধান শাখাক্ষেত্রসমূহ
উত্তল প্রোগ্রামিংয়ের (বা উত্তল কাম্যতমকরণ) (convex programming) গবেষণার বিষয় হল উত্তল লক্ষ্য ফাংশন, যার সীমাবদ্ধতাগুলো (constraint) উত্তল সেট তৈরি করে। উত্তল প্রোগ্রামিংকে অরৈখিক প্রোগ্রামিংয়ের (nonlinear programming) একটি বিশেষ শাখা হিসেবে এবং রৈখিক সমস্যা এবং উত্তল দ্বিঘাত প্রোগ্রামিংয়ের (convex quadratic programming) সাধারণ শাখা হিসেবে দেখা যায়।
রৈখিক প্রোগ্রামিং হচ্ছে একধরনের উত্তল সমস্যা যেখানে লক্ষ্য ফাংশন রৈখিক হয় এবং সীমাবদ্ধতাগুলোর সেটকে কেবল রৈখিক সমতা বা অসমতা দ্বারা প্রকাশ করা হয়। এই সেট সীমিত হলে বহুতলকের (polyhedron) আকার ধারণ করে।
দ্বিতীয় ক্রমের কোণক প্রোগ্রামিংয়ে (second order cone programming) বিশেষ ধরনের দ্বিঘাত সমস্যা আলোচনা করা হয়।
প্রায়নির্ধারিত প্রোগ্রামিং (semidefinite programming) হচ্ছে উত্তল প্রোগ্রামিংয়ের একটি শাখা যেখানে চলকগুলো হল প্রায়নির্ধারিত ম্যাট্রিক্স।
কোণক প্রোগ্রামিং (conic programming) হচ্ছে উত্তল প্রোগ্রামিংয়ের একটি সাধারণ শাখা। রৈখিক, দ্বিতীয় ক্রমের কোণক এবং প্রায়নির্ধারিত প্রোগ্রামিংয়ের প্রত্যেকটিকেই কোণক প্রোগ্রামিংয়ের বিশেষ ধরনের কোণকযুক্ত কোণক প্রোগ্রামিং হিসেবে দেখা যায়।
জ্যামিতিক প্রোগ্রামিং হচ্ছে একধরনের কাম্যতমকরণ কৌশল, যেখানে লক্ষ্য এবং অসমতা ফাংশনগুলো পসিনমিয়াল (posynomial) এবং সমতা ফাংশনগুলো মনমিয়াল (monomial)। জ্যামিতিক প্রোগ্রামিংকে উত্তল প্রোগ্রামিং আকারে সমাধান করা না হলেও উত্তল প্রোগ্রামিং সমস্যায় রূপান্তর করা যায়।
পূর্ণসংখ্যা প্রোগ্রামিং হচ্ছে এক ধরনের রৈখিক প্রোগ্রামিং যেখানে কিছু অথবা সবগুলো চলক কেবল পূর্ণসংখ্যায় মান গ্রহণ করে। এর ফলে সমস্যাটি আর উত্তল প্রোগ্রামিং থাকে না। সাধারণ রৈখিক প্রোগ্রামিংয়ের চেয়ে এটি সাধারণত বেশ কঠিন সমস্যা।
দ্বিঘাত প্রোগ্রামিংয়ে (quadratic programming) লক্ষ্য ফাংশন হয় দ্বিঘাতবিশিষ্ট এবং সমতা ও অসমতাগুলো হয় রৈখিক। দ্বিঘাত পদটির বিশেষ একটি আকারের ক্ষেত্রে সমস্যাটি একটি উত্তল প্রোগ্রামিং সমস্যায় পরিণত হয়।
অরৈখিক প্রোগ্রামিংয়ের গবেষণায় সেধরনের সমস্যা নিয়ে আলোচনা হয় যেখানে লক্ষ্য ফাংশন বা সীমাবদ্ধতা অথবা উভয়েই অরৈখিক অংশ থাকে।
অনির্ধারিত প্রোগ্রামিং (stochastic programming) গবেষণায় সে ধরনের সমস্যা বিবেচনা করা হয়, যেখানে সীমাবদ্ধতা বা প্যারামিটারগুলো দৈব চলকের উপর নির্ভর করে।
রোবাস্ট প্রোগ্রামিং অনির্ধারিত প্রোগ্রামিংয়ের মতই কাম্যতমকরণ সমস্যার সাথে জড়িত উপাত্তের অনিশ্চয়তাকে নিয়ে কাজ করে। তবে এ কাজের জন্যে দৈব চলক বিবেচনা না করে উপাত্তের ত্রুটিকে বিবেচনায় নিয়ে সমস্যার সমাধান করা হয়।
কম্বিনেটোরিয়াল সেরাঅনুকুলকরণ
অসীমমাত্রিক সেরাঅনুকুলকরণ
অধি-আবিষ্করণী (Metaheuristic) গবেষণায় সমস্যার ব্যাপারে যৎসামান্য অনুমান তৈরি করা হয় এবং এ ধরনের কৌশল সমাধান-ক্ষেত্রের বিশাল অঞ্চলে অনুসন্ধান চালাতে পারে। তবে অধি-আবিষ্করণী পদ্ধতি সেরা সমাধানের নিশ্চয়তা প্রদান করে না।
সেট • অন্বয় • সমতুল সম্পর্ক • অপেক্ষক • চয়নের স্বতঃসিদ্ধ ও এর সমতুলসমূহ • উপাদান সংখ্যা • সংগঠন • বিন্যাস •সমাবেশ • সংখ্যা • বাস্তব সংখ্যা • জটিল সংখ্যা • ক্রমায়ন • ক্রমসূচুক সংখ্যা • ল্যাটিস • বুলিয়ান বীজগণিত • টপোজগৎ • ম্যাট্রিক্স জগত • সমতল ডোমেন • অভিসৃতি • সংযুক্ততা • মাত্রা তত্ত্ব • সমজগৎ • সমঅভিসৃতি • ক্যাটেগরি ও ফাংটর • আরোহী সীমা ও অভিক্ষেপী সীমা • শিফ
সংখ্যাতত্ত্ব • অবিরত ভগ্নাংশ • সংখ্যাতাত্ত্বিক ফাংশন • যোগাত্মক সংখ্যা তত্ত্ব • সংখ্যার বিভাজন • মৌলিক সংখ্যার বিন্যাস • ল্যাটিস-বিন্দু সমস্যা • দিওফান্তুসীয় সমীকরণ • সংখ্যার জ্যামিতি • তুরীয় সংখ্যা • দ্বিঘাত ফিল্ড • বীজগাণিতিক সংখ্যা • বীজগাণিতিক সংখ্যা ফিল্ড • শ্রেণী ফিল্ড তত্ত্ব • জটিল গুণন • ফের্মার সমস্যা • স্থানীয় ফিল্ড • সহযোগী বীজগণিতের পাটীগণিত • জেটা ফাংশন
পরিসংখ্যানিক উপাত্ত বিশ্লেষণ • পরিসংখ্যানিক অনু্মান • পরিসংখ্যা • নমুনায়ন বিন্যাস • পরিসংখ্যানিক মডেল • পরিসংখ্যানিক সিদ্ধান্ত ফাংশন • পরিসংখ্যানিক মূল্যায়ন • পরিসংখ্যানিক অনুকল্প পরীক্ষণ • বহুচলকীয় বিশ্লেষণ • রোবাস্ট পদ্ধতি • অপরামিতিক পদ্ধতি • সময় ধারা বিশ্লেষণ • পরীক্ষাসমূহের ডিজাইন • নমুনা জরিপ • পরিসংখ্যানিক মান নিয়ন্ত্রণ • অর্থমিতি • জীবমিতি • মনোমিতি • ইন্সুরেন্স গণিত
গাণিতিক প্রোগ্রামিং এবং অপারেশন গবেষণা
গাণিতিক প্রোগ্রামিং • যোগাশ্রয়ী প্রোগ্রামিং • দ্বিঘাত প্রোগ্রামিং • অ-যোগাশ্রয়ী প্রোগ্রামিং • নেটওয়ার্ক প্রবাহ সমস্যা • পূর্ণ সংখ্যা প্রোগ্রামিং • সম্ভাবনাযুক্ত প্রোগ্রামিং • গতিশীল প্রোগ্রামিং • ক্রীড়া তত্ত্ব • অন্তরক ক্রীড়া • নিয়ন্ত্রণ তত্ত্ব • তথ্য তত্ত্ব • অপারেশন গবেষণা • মজুতভাণ্ডার নিয়ন্ত্রণ • তফসিলীকরণ ও উৎপাদন পরিকল্পনা
প্রাচীন গণিত • গ্রিক গণিত • রোমান ও মধ্যযুগীয় গণিত • আরব গণিত • ভারতীয় গণিত • চৈনিক গণিত • জাপানি গণিত • রেনেসাঁস গণিত • ১৭শ শতকের গণিত • ১৮শ শতকের গণিত • ১৯শ শতকের গণিত * বিংশ শতাব্দীর গণিত